我有一个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文件似乎包含该版本。
VSTS / Azure Dev Ops具有内置于Extract Files和FTP Upload的任务。发布管道还有一个变量,您可以通过发布任务和PowerShell访问这些变量。 $(System.DefaultWorkingDirectory)
是下载工件(构建代码)的地方。具有两个任务的代理作业应该能够完成您要查找的内容。