ยังไงฉันอธิบายงาน dynamically ใน Color DevOps?

0

คำถาม

ฉันมีเบอร์โทรศัพท์ของงานพิมพ์สำหรับต่างออก platforms ฉันอยากจะวิ่งอยู่ในคู่ขนาน. ฉันอยากจะสร้างที่แตกต่างกัตั้งค่าของ platforms แตกต่างสำหรับสถานการณ์(i.e. เต็มสร้าง,ควัน,ดึงร้องขอเป็นต้น). ผมต้องทำยังไงให้รายชื่อของงานปรับอัตโนมัติจากตัวแปร?

ตัวอย่างเช่นถ้านี่เป็นหนึ่งของ"อยากอาการหนัก"implementations:

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

ทำไมฉันถึงมองแทนที่จะแยกออกคลังภาพของตัวแปรตั้งค่า,i.e.

[[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 แล้วมัน:

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 ที่นี่: 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

ขั้น,งานพิมพ์และขั้นตอนทั้งหมดมีเงื่อนไขการนิยามไว้แล้ว

สำหรับตัวอย่างเช่นกำลังทำงานหาตัวแปรเป็นตั้งที่แท้จริง:

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ý
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่