我有以下存储库:
my-app-repo
-包含应用程序的代码pipeline-repo
-一系列构建my-app-repo以及其他版本的管道我正在尝试在pipeline-repo
中建立yml管道,该管道将在提交my-app-repo
时触发。
根据the official yml documentation,这听起来可能,但我无法使其正常工作。
这是我尝试过的:
pipeline-repo / my-app-repo-build.yml
resources:
repositories:
- repository: target_repo
type: git
name: my-project/my-app_repo
trigger:
branches:
include:
- master
jobs:
- job:
steps:
- script: echo "Should be triggered from a push to my-app-repo!"
当我按下my-app-repo
时,构建不会触发。它仅针对对 source 存储库(pipeline-repo
)的提交而开始,由于包含yml定义,我无法更改。
我想念一些简单的事情吗?
答案 0 :(得分:0)
我看到您已经向您提到的github存储库添加了一个问题。我同意它似乎已损坏。
虽然您不是确切地尝试为管道提供模板功能,但是您可以将其用作解决方法,直到解决您创建的问题为止。
我已经在操场上进行了测试,它似乎可以正常工作。
resources:
repositories:
- repository: templates
type: git
name: Pipeline-Templates
trigger:
branches:
include:
- master
jobs:
- template: azure-pipelines-template.yml@templates
jobs:
- job: Get_Last_10_Commits
pool:
vmImage: 'vs2017-win2016'
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
cd $(Build.SourcesDirectory)
Write-Host "Show git log (last 10):"
git log --oneline -10
此变通办法的一个“优点” 是,您不再需要指定要检出的资源库而不是自身< / strong>(您的模板存储库)作为自身存储库是应用程序存储库。
这将允许您通过将其限制在所需的单独存储库中来限制对管道核心的更改,但仍会在app-repo主服务器上触发。
不理想b / c,现在您需要的每个构建都有2个.yml文件,但这基本上就是解决方法的定义:不理想。
您的include
语法似乎错误。您是否尝试过使用 simple syntax ?
所有示例(以及我的经验)表明,当触发器具有include
或exclude
规范时,应使用通配符语法。
resources:
repositories:
- repository: myPHPApp
type: GitHub
connection: myGitHubConnection
source: ashokirla/phpApp
trigger:
branches:
include:
- features/*
exclude:
- features/experimental/*
paths:
exclude:
- README.md