Azure Pipeline - 如何防止规避环境审批?

问题描述 投票:0回答:1

使用基于 YAML 的 Azure DevOps Pipeline,如何以无法通过修改 YAML 来规避的方式获得批准才能将应用程序服务(Web 应用程序)部署到生产等环境?

我知道在管道/环境下您可以创建一个环境并设置批准和检查。然后,您可以在 YAML 管道中拥有一个与该环境关联的阶段。我担心的是,YAML 管道可能会更改为不再与该环境关联(例如,将其更改为不需要批准的 DEV 环境),但仍然引用 Production Azure 资源(WebAppName 属性),从而绕过赞同。限制访问的另一件事似乎是服务连接,但似乎您需要授予管道使用服务连接的权限,而这并不能真正作为每个部署正在进行的审批流程的一部分。

- stage: PROD
  displayName: PROD
  jobs:
    - job: Release_Prod
      displayName: Release to PROD
      pool:
        vmImage: 'Windows-2019'
    - deployment:
      displayName: 'PROD Deployment'
      environment: 'Web App - PROD'
      strategy:
        runOnce:
          deploy:
            steps:
            - task: DownloadBuildArtifacts@1
              inputs:
                buildType: 'current'
                downloadType: 'single'
                artifactName: 'drop'
                downloadPath: '$(System.ArtifactsDirectory)'
            - task: AzureRmWebAppDeployment@4
              inputs:
                ConnectionType: 'AzureRM'
                azureSubscription: 'Production'
                appType: 'webApp'
                WebAppName: 'my-production-web-app'
                package: '$(System.ArtifactsDirectory)/**/*.zip'
azure-devops azure-pipelines azure-pipelines-yaml
1个回答
0
投票

我知道怎么做了。您根本不使用环境。相反,您可以在服务连接本身上设置批准。

© www.soinside.com 2019 - 2024. All rights reserved.