我有很多的共享相同的基本CI的工作流程,我可以輕鬆地表達爲聲明管道不同的存儲庫的項目共用一個聲明管道:如何跨多個項目
pipeline {
agent any
options {
buildDiscarder(logRotator(numToKeepStr: '20'))
}
stages {
stage('CI') {
steps {
echo 'Do CI'
}
}
stage('QA') {
steps {
echo 'Do QA'
}
}
}
post {
always {
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/TEST-*.xml'
// etc...
}
failure {
echo 'Failure mail'
// etc
}
}
}
我想在我的所有項目中使用相同的聲明式管道,並且能夠在一個地方更改管道定義,並自動在所有項目中使用這些更改。
從本質上講什麼,我會在一個項目做; S Jenkinsfile是這樣的:
loadPipelineFromScm 'repository', 'pipeline.groovy'
我已經可以與共享庫做到這一點,但後來我不能再使用聲明管道功能。
有沒有辦法共享一個聲明式跨多個存儲庫的流水線?
你確定一個聲明管道不能在共享庫工作? [聲明式管道:通知和共享庫文檔](https://jenkins.io/blog/2017/02/15/declarative-notifications/)似乎正在做這件事。你不能做類似的事嗎? – herm