使用 Azure Devops yaml 管道部署到本地服务器

时间:2021-07-30 09:22:59

标签: azure azure-devops azure-pipelines azure-pipelines-yaml

使用 Azure DevOps 管道时,是否可以使用 yaml 管道部署到本地服务器?

我已经使用部署组部署到具有发布(经典)管道的本地服务器,并且我看到了有关使用 yaml 管道部署到 Azure 基础设施的说明。

但是,我找不到任何关于如何使用 yaml 管道部署到本地服务器的示例 - 这可能吗?如果是这样,是否有任何示例可以说明如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

是的,你可以。在 YAML 管道中,您可以使用“环境”作为部署组的替代品。它们的工作方式类似,您在目标机器上安装代理,然后在部署作业中指定环境

Create a new Environment 使用适当的名称(例如 Dev)然后 add a resource,您将能够添加 VM 或 Kubernetes 集群。假设您选择 VM,那么您将能够下载一个脚本,您可以运行该脚本来运行目标机器来安装部署代理。此脚本将安装代理并将其注册到环境中。

将代理注册到环境中后,将 deployment job 添加到您的 YAML

- stage: DeployToDev
  displayName: Deploy to Dev
  jobs:
  - deployment: DeployWebSite
    displayName: Deploy web site to Dev
    environment: Dev
    strategy:
      runOnce:
        deploy:
          steps:
            - task: PowerShell@2
            inputs:
              targetType: 'inline'
              script: |
                Write-Host "Deploy my code"         

答案 1 :(得分:0)

如之前的答案中所述,您需要创建一个新环境并将 VM 添加到该环境中(请参阅 documentation)。

使用部署作业,您还需要指定资源类型

- deployment: VMDeploy
  displayName: Deploy to VM
  environment:
    name: ContosoDeploy
    resourceType: VirtualMachine
...

如果您在此环境中有多个 VM,则作业步骤将在所有 VM 上执行。

要定位特定的 VM,您可以添加标签(请参阅 documentation)。

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: ContosoDeploy
    resourceType: VirtualMachine
    tags: windows,prod # only deploy to virtual machines with both windows and prod tags
...
相关问题