我正在使用VSTS(之前的VSO)来处理整个项目,并希望对未托管在Azure上的网站进行自动发布(构建已经到位)。因此我需要使用FTP。
据我了解,我应该能够使用cURL来实现这一目标,但我所能做的就是传输所需的所有文件,而不需要保留急需的文件结构。
有没有人找到使用FTP在文件结构中传输文件的方法?如果是这样,怎么样?
答案 0 :(得分:1)
您需要使用“批处理脚本”任务并创建批处理脚本以通过curl上载文件。有关详细信息,请参阅此问题:Upload folder with cURL and FTP using Batch file on Windows?
如果您的网站托管在Windows计算机上,则可以使用“Windows计算机文件复制”任务上载文件。此任务保留文件夹结构。
此外,您可以在构建期间通过在构建定义中的“Visual Studio Build”任务中添加以下MSBuild参数来生成Web部署包,并将其上载到构建工件。
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
然后在“Release”中添加一个任务来运行“xxx.deploy.cmd”,该任务包含在构建工件中以将文件部署到您的服务器。 (确保您的服务器已安装“Web Deploy Remote Agent Service”)
xxx.deploy.cmd [/T|/Y] [/M:ComputerName] [/U:UserName] [/P:Password] [/G:UseTempAgent] [Additional msdeploy.exe flags ...]