在VSTS上通过FTP发布网站

在VSTS上通过FTP发布网站,ftp,azure-devops,azure-pipelines,Ftp,Azure Devops,Azure Pipelines,我正在使用VST(以前是VSO)来处理整个项目,并希望对未托管在Azure上的网站进行自动发布(构建已经就位)。因此,我需要使用FTP 据我所知,我应该能够使用cURL来实现这一点,但我所能做的就是在不保留急需的文件结构的情况下传输所有需要的文件 是否有人找到了使用FTP传输文件结构中的文件的方法?如果是,怎么做 您需要使用“批脚本”任务并创建一个批脚本来通过curl上传文件。有关详细信息,请参阅此问题: 如果您的网站托管在Windows计算机上,则可以使用“Windows计算机文件复制”任务上

我正在使用VST(以前是VSO)来处理整个项目,并希望对未托管在Azure上的网站进行自动发布(构建已经就位)。因此,我需要使用FTP

据我所知,我应该能够使用cURL来实现这一点,但我所能做的就是在不保留急需的文件结构的情况下传输所有需要的文件

是否有人找到了使用FTP传输文件结构中的文件的方法?如果是,怎么做

您需要使用“批脚本”任务并创建一个批脚本来通过curl上传文件。有关详细信息,请参阅此问题:

如果您的网站托管在Windows计算机上,则可以使用“Windows计算机文件复制”任务上载文件。此任务保留文件夹结构。

此外,您还可以在生成期间通过在生成定义中的“VisualStudioBuild”任务中添加以下MSBuild参数来生成web部署包,并将其上载到生成工件

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
然后在“Release”中,添加一个任务来运行“xxx.deploy.cmd”,该任务包含在构建工件中,用于将文件部署到服务器。(确保服务器已安装“Web部署远程代理服务”)

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