通过VSTS上的FTP发布网站
问题描述:
我正在使用VSTS(之前的VSO)来处理整个项目,并且希望对未托管在Azure上的网站执行自动发布(已建立的版本)。因此我需要使用FTP。通过VSTS上的FTP发布网站
据我所知,我应该可以使用cURL来实现这一点,但我所能做的就是传输所需的所有文件,而不必保留所需的文件结构。
有没有人找到一种方法来使用FTP传输文件结构中的文件?如果是这样,怎么样?
答
您需要使用“批处理脚本”任务并创建批处理脚本以通过curl上载文件。请参考此问题的详细信息:Upload folder with cURL and FTP using Batch file on Windows?
如果您的网站在Windows计算机上托管,可以使用“Windows计算机上的文件复制”任务上传的文件。该任务保持文件夹结构。
而且还可以产生通过在构建定义“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 ...]