Certificate is required no matter if it's self-signed or not.
I would suggest you try below:
1. using certificate
2. In the FTP Authorization Rules, allow "All Users" to eliminate privilege issue. (You can also try with third Party FTP Client to see if you can upload files to Repository\Files\ToDeploy\ with FTPS protocol.
I can't attach the file here so just paste the configurations of FTP server in applicationHost.conf
<system.ftpServer>
<providerDefinitions>
<add name="IisManagerAuth" type="Microsoft.Web.FtpServer.Security.IisManagerAuthenticationProvider,Microsoft.Web.FtpServer,version=7.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
<add name="AspNetAuth" type="Microsoft.Web.FtpServer.Security.AspNetFtpMembershipProvider,Microsoft.Web.FtpServer,version=7.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
</providerDefinitions>
<log>
</log>
<firewallSupport />
<caching>
</caching>
<security>
<ipSecurity />
<requestFiltering>
<hiddenSegments>
<add segment="_vti_bin" />
</hiddenSegments>
</requestFiltering>
<authorization />
</security>
</system.ftpServer>
<location path="HP_Test">
<system.ftpServer>
<security>
<authorization>
<add accessType="Allow" users="*" permissions="Read, Write" />
</authorization>
</security>
</system.ftpServer>
</location>