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

问题描述 投票:0回答:1

我有一个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文件似乎包含该版本。

visual-studio azure-devops azure-pipelines-release-pipeline
1个回答
0
投票

VSTS / Azure Dev Ops具有内置于Extract FilesFTP Upload的任务。发布管道还有一个变量,您可以通过发布任务和PowerShell访问这些变量。 $(System.DefaultWorkingDirectory)是下载工件(构建代码)的地方。具有两个任务的代理作业应该能够完成您要查找的内容。

任务Tasks详情Extract Files Details enter image description here

Azure Dev Ops Release Variables

© www.soinside.com 2019 - 2024. All rights reserved.