将 VSTS 中内置的 .Net 应用程序部署到远程代理计算机



几天来我一直试图解决这个问题,但无济于事。

我有一个 MVC .Net 应用程序,它存储在 VSTS 中的 GIT 存储库中。当我签入代码时,它正在构建中,单元测试正在云中运行。

现在,如果这些单元测试成功,我希望将项目部署到安装了 VSTS 代理的远程计算机上。我可以在 VSTS Web 界面中看到代理,但我不知道如何获得自动生成以将完成的版本发送到远程代理计算机上的 d:/mydeploypath。

这可能吗?

绝对可能!

有一些构建步骤可用于将文件复制到远程计算机,例如Copy Files over SSHWindows Machine File Copy。但是,如果您尝试将代码部署到要构建的计算机,则可以使用Copy Files步骤,因为它不需要凭据。由于它是一个 Web 应用程序,因此可以通过几个步骤(如IIS Utilities(停止\启动应用程序池,以便不会锁定部署的文件。

因此,使用Copy Files构建步骤,您可以使用$(Agent.BuildDirectory)作为源目录(或将构建输出放在的任何位置(,并将目标文件夹设置为计算机上所需的目标。

在我们的发布过程开发过程中,构建/发布变量对我帮助很大: https://learn.microsoft.com/en-us/vsts/pipelines/build/variables?view=vsts

简单的方法是使用 WinRM-IIS Web 应用部署任务。

若要生成 Web 部署包,可以在 Visual Studio 生成任务的"MSBuild 参数"框中指定以下参数:

/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageLocation="$(build.artifactstagingdirectory)" /P:PackageTempRootDir=""

最新更新