通过VSTS上的FTP发布网站

问题描述:

我正在使用VSTS(之前的VSO)来处理整个项目,并且希望对未托管在Azure上的网站执行自动发布(已建立的版本)。因此我需要使用FTP。通过VSTS上的FTP发布网站

据我所知,我应该可以使用cURL来实现这一点,但我所能做的就是传输所需的所有文件,而不必保留所需的文件结构。

有没有人找到一种方法来使用FTP传输文件结构中的文件?如果是这样,怎么样?

您需要使用“批处理脚本”任务并创建批处理脚本以通过curl上载文件。请参考此问题的详细信息:Upload folder with cURL and FTP using Batch file on Windows?

如果您的网站在Windows计算机上托管,可以使用“Windows计算机上的文件复制”任务上传的文件。该任务保持文件夹结构。 enter image description here

而且还可以产生通过在构建定义“Visual Studio中构建”任务添加以下的MSBuild参数的构建过程中的网络部署包并上传打造神器。

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\" 

然后在“释放”,增加了运行包含在构建构件的文件部署到服务器的“xxx.deploy.cmd”的任务。 (请确保您的服务器已安装“Web部署远程代理服务”)

xxx.deploy.cmd [/T|/Y] [/M:ComputerName] [/U:UserName] [/P:Password] [/G:UseTempAgent] [Additional msdeploy.exe flags ...]