是否可以按計劃只運行一個構建管道任務而不是按計劃運行整個管道?我在構建管道中有一個任務來生成一些關于管道的報告。我希望該任務每月運行一次。
uj5u.com熱心網友回復:
是的..有幾種可能:
您可以預先為任務設定條件:
${{ if eq(variables['isBuild'], true) }}:您可以配置條件來運行您想要的任務,具體取決于任何內容,例如在本例中使用之前定義的變數 isBuild:
task: PublishBuildArtifacts@1 displayName: 'Publish artifact: drop' inputs: PathtoPublish: 'whatever' ArtifactName: 'drop' publishLocation: 'Container' condition: eq(variables['isBuild'], true)您可以配置條件以運行所需的階段,因此之前您可以根據任何情況將任務分階段分組,例如在這種情況下在階段使用變數 isBuild,之前定義:
stage: Build displayName: 'Build' condition: eq(variables['isBuild'], true)
在每個示例中,如果 IsBuild 與 true 不同,則不會運行。
您可以在https://github.com/MicrosoftDocs/azure-devops-docs/blob/main/docs/pipelines/process/conditions.md 中找到更多資訊
此外,如果您想安排您的任務僅在每月的第一天 07:00 執行:
扳機:
master #這是其他階段的觸發器。預定階段不需要它。
時間表:cron:'0 7 1 * *'
displayName: 'Deploy every 1st day of every month at 07:00Z' branches: include: main always: true
然后為確保任務按計劃運行,請使用以下條件:
- stage: 'Test'
displayName: 'Deploy to the test environment'
dependsOn: Dev
condition: eq(variables['Build.Reason'], 'Schedule')
有關更多詳細資訊,您可以:
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/scheduled-triggers?view=azure-devops&tabs=yaml#scheduled-triggers
uj5u.com熱心網友回復:
將任務放在第二個管道中,并按月計劃運行。
如果您想避免 yaml 代碼重復,您可以定義一個包含該任務的模板,并從兩個管道中呼叫該模板。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/420693.html
標籤:
上一篇:使用托管標識呼叫APIM端點
