我为我们的CI/CD管道设置了Jenkinsfile,它在Git操作上运行,如拉取请求、分支创建、标记推送等。
在此设置之前,我习惯于在JenkinsUI中设置Jenkins构建作业。这样做的好处是,我可以设置可以远程触发的专用构建作业,并且独立于git网络钩子操作。我可以使用参数对作业endpoint执行POST以触发各种操作。
此处会引用该流程的文档——见“触发器远程构建”
我还可以点击UI中的“构建”或“使用参数构建”的大按钮,这非常好。
如何使用Jenkinsfile做到这一点?这甚至可以在Jenkinsfile中的管道定义中定义构建作业吗?即定义具有专用URL的函数/构建作业,这些URL可以在JenkinsURL上调用,而不依赖于网络钩子回调?
这里最好的做法是什么?
感谢您的任何提示,参考,建议!
我建议从多分支管道开始。一般来说,您会得到您提到的所有内容,但会好一点。因为这些参数可以在您的Jenkinsfile
中定义。简而言之,就这样做:
声明性Jenkinsfile可以如下所示:
pipeline {
agent any
parameters {
string(name: 'Greeting', defaultValue: 'Hello', description: 'How should I greet the world?')
}
stages {
stage('Example') {
steps {
echo "${params.Greeting} World!"
}
}
}
}
一个很好的屏幕教程可以在这里找到:https://www.jenkins.io/doc/book/pipeline/multibranch/