在多阶段管道中为1阶段更改仓库

时间:2019-09-12 09:11:15

标签: azure azure-devops azure-pipelines multistage-pipeline

我有一个天蓝色的devops多阶段管道,该管道需要1个阶段才能将文件从另一个存储库复制到$(build.artifactstagingdirectory)

例如,我的YAML看起来像

trigger: 
  - master

resources:
  - repo: self

variables:
  tag: '$(Build.BuildId)'

stages:
- stage: Build
  displayName: Build image
  jobs:
  - job: Build
 ...
- stage: Build
  ... define other resource/repository ...
  - task: CopyFiles@2
    inputs:
      SourceFolder: 'k8s'
      Contents: '**'
      TargetFolder: '$(build.artifactstagingdirectory)'

此管道连接到存储库,该存储库可能由repo: self定义。所以问题是,我可以在特定阶段更改此存储库吗?

1 个答案:

答案 0 :(得分:1)

您可以在powershell脚本中运行git命令。在您的阶段中添加一个步骤来执行git命令,如下例所示。这样,另一个仓库将被克隆到工件目录中。

- powershell: |
      cd $(Build.artifactstagingdirectory)
      git clone "https://<<Your PAT>>@dev.azure.com/_organization/_project/_git/_repo"

注意:使用您的个人访问令牌(PAT)作为身份验证。