我有很多的共享相同的基本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