Azure devops Azure Devops发布作业/管道

Azure devops Azure Devops发布作业/管道,azure-devops,devops,azure-deployment,Azure Devops,Devops,Azure Deployment,我们正在将Azure devops用于CI/CD。通常,所有CI都作为azure yaml文件编写,发布作业必须在devops portal上创建(使用GUI)。我们希望遵循的一个普遍原则是将所有内容都作为代码 问题: Azure发布管道是否可以创建为代码(yaml等)? 我花了一些时间在它上面,它似乎是有限的。如果我错了,请纠正我 发布管道有很多东西,比如批准、自动触发、发布触发等等。yaml中的排放管道是否可行 Azure部署可以使用代码进行配置。您可以添加多个发布触发器(管道、拉请求

我们正在将Azure devops用于CI/CD。通常,所有CI都作为azure yaml文件编写,发布作业必须在devops portal上创建(使用GUI)。我们希望遵循的一个普遍原则是将所有内容都作为代码

问题:

  • Azure发布管道是否可以创建为代码(yaml等)?
    • 我花了一些时间在它上面,它似乎是有限的。如果我错了,请纠正我
  • 发布管道有很多东西,比如批准、自动触发、发布触发等等。yaml中的排放管道是否可行

  • Azure部署可以使用代码进行配置。您可以添加多个发布触发器(管道、拉请求等)。可以根据环境()配置批准,然后在管道中引用环境

    下面的示例在其自身的yaml代码更改以及构建管道完成时触发

    trigger:
      branches:
        include: 
        - myBranch
      paths:
        include:
        - '/Deployment/azure-deploy.yml'
    
    resources:
      pipelines:
      - pipeline: BuildPipeline 
        project: myProjectName
        source: 'myBuildPipeline'
        trigger:
          enabled: true
     
    jobs:
      - deployment: Deploy
        displayName: Deploy
        environment: $(environment)
        pool:
          vmImage: 'windows-latest'
    
        strategy:
          runOnce:
            deploy:
              steps:
              - task: AzureRmWebAppDeployment@4
                displayName: Deploy Web App
                inputs:
                  ConnectionType: 'AzureRM'
                  azureSubscription: $(azureSubscription)
                  appType: 'webApp'                
                  appSettings: 
                    -SETTING-1 "$(mySetting1)"          
                  WebAppName: '$(myAppName)'
                  package: '$(Pipeline.Workspace)/**/*.zip'
    
    
      [1]: https://www.programmingwithwolfgang.com/deployment-approvals-yaml-pipeline/
    

    Azure部署可以使用代码进行配置。您可以添加多个发布触发器(管道、拉请求等)。可以根据环境()配置批准,然后在管道中引用环境

    下面的示例在其自身的yaml代码更改以及构建管道完成时触发

    trigger:
      branches:
        include: 
        - myBranch
      paths:
        include:
        - '/Deployment/azure-deploy.yml'
    
    resources:
      pipelines:
      - pipeline: BuildPipeline 
        project: myProjectName
        source: 'myBuildPipeline'
        trigger:
          enabled: true
     
    jobs:
      - deployment: Deploy
        displayName: Deploy
        environment: $(environment)
        pool:
          vmImage: 'windows-latest'
    
        strategy:
          runOnce:
            deploy:
              steps:
              - task: AzureRmWebAppDeployment@4
                displayName: Deploy Web App
                inputs:
                  ConnectionType: 'AzureRM'
                  azureSubscription: $(azureSubscription)
                  appType: 'webApp'                
                  appSettings: 
                    -SETTING-1 "$(mySetting1)"          
                  WebAppName: '$(myAppName)'
                  package: '$(Pipeline.Workspace)/**/*.zip'
    
    
      [1]: https://www.programmingwithwolfgang.com/deployment-approvals-yaml-pipeline/
    

    1) 是的,使用JSON。2) 是的,使用JSON。我建议您导出一个现有的版本配置,看看它是什么样子(蓝色的CreateReleaseOne旁边的3点按钮,然后单击export)@Cid:这只是导出(一个巨大的导出)。我们想对发布管道进行编码这是否回答了您的问题?我认为它没有UI提供的功能。。比如批准?1)是的,使用JSON。2) 是的,使用JSON。我建议您导出一个现有的版本配置,看看它是什么样子(蓝色的CreateReleaseOne旁边的3点按钮,然后单击export)@Cid:这只是导出(一个巨大的导出)。我们想对发布管道进行编码这是否回答了您的问题?我认为它没有UI提供的功能。。比如批准?