在Visual Studio Team Services / Azure DevOps中通过FTP在单个解决方案中部署多个站点

时间:2018-09-18 09:09:29

标签: visual-studio azure-devops azure-pipelines-release-pipeline

我有一个Visual Studio解决方案,其中包含各种类库和几个ASP.NET网站项目。该网站项目引用了类库项目,因此为了便于工作,它们需要使用同一解决方案。

整个解决方案是通过Visual Studio Team Services(现在称为Azure DevOps)进行版本控制的。

将解决方案提交给VSTS后,该解决方案将由VSTS自动构建。

我还想使用持续集成,并将解决方案中的网站项目通过FTP部署到各种Web服务器(FTP是唯一的选择,MSDeploy等不可用)。这些版本将由基于提交的构建触发。

问题是我需要在由构建触发的发行版中通过FTP发布实际的网站文件,但是构建工件仅包含.zip文件。

例如,如果解决方案具有一个名为“ MyWebsite”的网站项目,则构建工件具有一个名为Mywebsite.zip的zip,但无法访问任何文件。这样,我可以将zip文件部署到Web服务器,而不是实际的网站文件。

如何部署这些文件?

此外,我不想在网站项目中部署所有文件。我想部署一个发布版本(类似于使用Visual Studio 2017的发布工具发布的版本),该zip文件似乎包含该版本。

1 个答案:

答案 0 :(得分:0)

VSTS / Azure Dev Ops在Extract FilesFTP Upload中内置了任务。发布管道还具有一个变量,您可以通过发布任务和powershell对其进行访问。 $(System.DefaultWorkingDirectory)是将工件(内置代码)下载到的位置。具有两个任务的代理工作应该能够完成您想要的工作。

任务 Tasks 详细信息 Extract Files Details enter image description here

Azure Dev Ops Release Variables