gpt4 book ai didi

azure - 使用 Azure VM 上的 TFS 构建作为 Windows 服务和 Web Api 进行持续分发

转载 作者:行者123 更新时间:2023-12-03 01:45:27 26 4
gpt4 key购买 nike

我有 TFS 2015,我能够从分支自动化构建过程,并从放置文件夹中获取文件,如下所示: enter image description here

它已针对 Web API 和 Windows Service 等多个项目发布

我想要在 Azure VM 上自动执行部署过程 - 持续交付。

  1. 在 Azure 虚拟机上的 IIS 上部署 Web API
  2. 在 Azure 虚拟机上部署 Windows 服务。
  3. 运行脚本 SQL。

我有 Azure VM 的凭据。我如何执行上述三个步骤。

最佳答案

我过去曾解决过类似的问题,因此可能可以帮助您(MSFT,如果有帮助的话)。

Azure VM 上的 IIS 上的 Web Api

这几乎完全自动化,形式为 WinRM - IIS Web App Deployment您可以在发布定义中找到并添加该任务。该链接提供了有关 Azure VM 与本地 VM 相比要提供哪些参数以及要进行哪些调整的完整说明。运行此任务有一些先决条件,例如在文档详细讨论的 VM 上安装和配置 IIS。作为此任务的必要输入,您需要提供 web 部署包,我假设它是作为构建输出生成的。如果没有,可以引用this SO post 以获得所需的输出。如果您希望在部署时修改诸如连接字符串之类的参数,请在上述任务中使用parameters.xml 文件。

Azure VM 上的 Windows 服务

没有完全自动化的任务可以满足此要求,但它非常简单。可以通过使用 PowerShell on Target Machines 来实现任务以及 Azure File Copy任务。对于第一个任务,所需的输入内容是您希望部署的 Windows 服务的 .exe,它应该作为构建过程的输出(构建工件)生成。此任务的许多远程计算机输入与前一个任务类似,因此您应该不会遇到任何问题。您需要在源代码中 checkin 执行实际 Windows 服务安装的 Powershell 脚本,作为同一 Windows 服务项目的一部分 (copy local = True)。这将确保作为构建输出,您将能够访问可在第二个任务中使用的 powershell 脚本。需要 Azure 文件复制才能将 powershell 脚本复制到 Azure VM,以便 Powershell 任务可以执行它。假设您已将 powershell 脚本复制到 Azure VM 上的文件夹 C:\Data\

$serviceName = "MyWindowsService"
$exeFullName = "path\\to\\your\\service.exe"
$serviceDisplayName = "MyWindowsService"
$pss = New-Service $serviceName $exeFullName -DisplayName $serviceDisplayName
-StartupType Automatic

将此内容添加到 checkin 的 powershell 文件中,并将其命名为 installWindowsService.ps1。然后在 powershell 任务中提供要执行的 powershell 文件的路径,即 C:\Data\installWindowsService.ps1

在 Azure VM 上运行 SQL 脚本

我个人没有从事过这方面的工作,所以我能做的就是为您指明正确的方向。如果您使用 DACPAC 进行 SQL 部署,则可以使用 WinRM - SQL Server Database Deployment任务。如果您只想执行脚本,请使用上面的远程 powershell 任务并引用 this这篇文章将帮助您通过 powershell 脚本运行 SQL 命令

关于azure - 使用 Azure VM 上的 TFS 构建作为 Windows 服务和 Web Api 进行持续分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47474204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com