如何使用阶段/资源从同一组织内的不同项目触发Azure开发操作管道?

k2arahey  于 2022-11-25  发布在  其他
关注(0)|答案(2)|浏览(98)

我想从Main管道的一个阶段触发一个Test管道,这两个管道存在于同一组织内的不同项目中。我可以使用资源选项触发管道,但问题是当主管道成功完成时,它会触发测试管道,但我希望在主管道运行之间使用阶段触发测试管道。是否可以使用Azure Devops的任何功能来实现这一点?
现在,我将此资源添加到测试管道yaml中,以便在Main管道之后触发。

resources:
  pipelines:
  - pipeline: Test-Repo 
    source:  Test # Test pipeline from different project
    project: private 
    trigger: true # enable the trigger
gj3fmq9x

gj3fmq9x1#

作为一种解决方案,您可以通过REST API触发所需的构建。Powershell to trigger a build in Azure DevOps

2q5ifsrm

2q5ifsrm2#

一个好的方法是使用扩展的“Trigger Build Task”:https://marketplace.visualstudio.com/items?itemName=benjhuser.tfs-extensions-build-tasks&targetId=ca4e4e67-3099-4c62-9ea9-bef80e0cc70a&utm_source=vstsproduct&utm_medium=ExtHubManageList
我的主要管道位于项目A中,分为两个阶段:

trigger:
- none

pool:
  vmImage: ubuntu-latest

stages:

    - stage: A
      displayName: A stage
      jobs:
      - job: A
        displayName: A
        steps:
          - task: TriggerBuild@4
            inputs:
              definitionIsInCurrentTeamProject: false
              tfsServer: '{Org URL}'
              teamProject: '{Project B Name}'
              buildDefinition: '213'
              queueBuildForUserThatTriggeredBuild: false
              ignoreSslCertificateErrors: false
              useSameSourceVersion: false
              useCustomSourceVersion: false
              useSameBranch: false
              waitForQueuedBuildsToFinish: false
              storeInEnvironmentVariable: false
              authenticationMethod: 'Personal Access Token'
              password: '{PAT}'
              enableBuildInQueueCondition: false
              dependentOnSuccessfulBuildCondition: false
              dependentOnFailedBuildCondition: false
              checkbuildsoncurrentbranch: false
              failTaskIfConditionsAreNotFulfilled: false
    
    - stage: B
      displayName: B stage
      dependsOn: A
      jobs:
      - job: 
        steps:
        - bash: echo "B"

在项目A中运行主管道:

项目B中的测试管道在主管道阶段A触发:

项目B中的测试管道。


指令集

相关问题