어떻게 설명 작업에서 동적으로 Azure DevOps?

0

질문

나의 번호를 가지고 작업에 대한 다양한 플랫폼고 싶이 동시에 실행됩니다. 고 싶을 구축하는 다른 플랫폼에 다른 상황에 대해(즉,전체 구축,전체가 금연,풀 요청,etc.). 나는 어떻게 목록을 만들어 작업의 동적인 변수에 따라?

예를 들면,이것은"하드 코딩"구현:

jobs:

- job: Platform1
  pool: Pool1
  steps:
      - template: minimal_template.yml
        parameters:
          BuildTarget: Platform1

- job: Platform2
  pool: Pool1
  steps:
      - template: minimal_template.yml
        parameters:
          BuildTarget: Platform2
        
- job: Platform3
  pool: Pool2
  steps:
      - template: minimal_template.yml
        parameters:
          BuildTarget: Platform3

어떻게 내가 대신 추출물의 컬렉션을 변수 설정,즉

[[Platform1, Pool1], [Platform2, Pool1], [Platform3, Pool2]]

고 실행하는 것에서와 같이 파이프라인:

jobs:

??(Foreach platform in platforms)??

- job: $(platform[0])
  pool: $(platform[1])
  steps:
      - template: minimal_template.yml
        parameters:
          BuildTarget: $(platform[0])
azure-devops azure-pipelines
2021-11-24 00:29:59
3

최고의 응답

2

당신은 그것을 정의할 수 있에 parameters 그리고 반복 it:

parameters:
  - name: Platforms
    type: object
    default:
      - name: 'Platform1'
        pool: 'Platform1Pool'
      - name: 'Platform2'
        pool: 'Platform2Pool'
jobs:
- ${{ each platform in parameters.Platforms}}:        
  - job: ${{ platform.name }}
     pool: ${{ platform.pool }}
     steps:
         - template: minimal_template.yml
2021-11-30 07:41:07

키워드에서 설명한 문서 여기: docs.microsoft.com/en-us/azure/devops/pipelines/process/...
Vince Bowdren

이것은 내가 결국 사용하여,그러나 나는 jobs:each platform. 감사합니다!
House

@집 당신 말이 맞아! 나는 나의 구문입니다.
Shayki Abramczyk
1

할 수 있습 alos 사용'jobList'형식 템플릿을 매개변수:

parameters:
- name: 'testsJobsList'
  type: jobList
  default: []

jobs:
- ${{ each job in parameters.testsJobsList }}: # Each job
  - ${{ each pair in job }}:          # Insert all properties other than "steps"
      ${{ if ne(pair.key, 'steps') }}:
        ${{ pair.key }}: ${{ pair.value }}
    steps:                            # Wrap the steps
    - ${{ job.steps }}                # Users steps

그리고:

trigger:
- none

pool:
  vmImage: 'windows-latest'

jobs:
- template: deployment-template.yml
  parameters:
    testsJobsList: 
      - job: Platform1
        pool: Platform1Pool
        steps:
        - template: minimal_template.yml
      - job: Platform2
        pool: Platform2Pool
        steps:
        - template: minimal_template.yml
      
2021-11-24 08:45:51
0

당신이 찾고있는 조건: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml

단계,작업,그리고 단계는 모든 조건의 정의됩니다.

예를 들어,실행하고 작업하는 경우는 변수가 true 로 설정:

condition: eq(variables['System.debug'], 'true')
2021-11-24 10:19:20

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................