tôi có rất nhiều các dự án trong các kho khác nhau mà chia sẻ cùng một nền tảng CI-công việc, mà tôi có thể dễ dàng thể hiện như một Declarative Pipeline:Làm thế nào để chia sẻ một Declarative đường ống qua nhiều dự án
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
}
}
}
Tôi muốn để sử dụng cùng một Pipeline Declarative trên tất cả các dự án của tôi và có khả năng thay đổi định nghĩa của Pipeline ở một nơi và có những thay đổi được sử dụng trong tất cả các dự án một cách tự động.
Về cơ bản những gì tôi sẽ làm trong một dự án; s Jenkinsfile là thế này:
loadPipelineFromScm 'repository', 'pipeline.groovy'
tôi đã có thể làm điều này với các thư viện chia sẻ, nhưng sau đó tôi không thể sử dụng tính năng Pipeline Declarative nữa.
Có cách nào để chia sẻ số Tuyên bố Đường ống trên nhiều kho lưu trữ không?
Bạn có chắc chắn rằng một đường ống dẫn khai báo không thể làm việc trong một thư viện chia sẻ? Tài liệu [Tuyên bố đường ống dẫn: Thông báo và Thư viện được chia sẻ] (https://jenkins.io/blog/2017/02/15/declarative-notifications/) dường như đang thực hiện chính xác điều đó. Bạn không thể làm điều gì đó tương tự? – herm