【问题标题】:Best Practice for Sinlge Job Stage - Azure Pipeline yml单个作业阶段的最佳实践 - Azure Pipeline yml
【发布时间】:2022-01-13 08:48:56
【问题描述】:

我有一系列流水线阶段,每个阶段只有一个作业。

每个阶段只有一份工作的最佳做​​法是什么? 下面我有我的示例 yml 设置:

trigger:
- main

resources:
- repo: self

stages:

# Test
##########################

- stage: Run_Tests
  displayName: Run Tests
  jobs:
  - job: Run_Tests
    displayName: Run Tests
    pool:
      vmImage: 'ubuntu-18.04'
    steps:
    # Testing Steps ...
  
# Build
##########################
- stage: Build
  displayName: Build
  jobs:
  - job: Build
    displayName: Build
    pool:
      vmImage: 'ubuntu-18.04'
    steps:
    # Build Steps ...

# Deploy
##########################
- stage: Deploy
  displayName: Deploy
  jobs:
  - deployment: VMDeploy
    displayName: Deploy
    # Deploy Steps ...

我在整个文件中多次出现以下内容。

jobs:
-jobs:

这对我来说似乎是不必要的和混乱的。

我只是迂腐,还是有更好的方法来做到这一点?

【问题讨论】:

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


    【解决方案1】:

    当您使用部署作业时,这可能是有意义的。这是因为在工作级别上应用的环境限制是在舞台级别上评估的。因此,如果您将 Build、Test 和 Deploy 阶段结合起来,并且您在 Deploy 作业中使用的环境配置了批准,那么您将在第一次作业开始之前被要求批准。

    对我来说,构建和测试可以一起进行,实际上它们应该是您可能重复使用的同一工作的一部分 - 为什么因为 - 当构建正常但测试失败时更改是否有效?您还可以利用您已经为所有项目下载依赖项的事实。当我们谈论集成测试时,为测试单独工作对我来说很有意义。

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 2019-11-12
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多