我是新詹金斯。我能够使用Freestyle作业配置基于提交的作业触发器。这样,对GitHub的任何新提交都会触发给定的工作。
但是当涉及到管道工作时,我无法实现同样的目标。请帮忙。
在管道的Build Triggers
部分中,我启用了GitHub hook trigger for GITScm polling
。
pipeline{
agent {
node 'npm-linux'
}
options {
timeout(time: 15, unit: 'MINUTES')
disableConcurrentBuilds()
}
stages {
stage('build') {
steps {
sh 'git clone link'
sh 'mvn clean install'
}
}
}
}
答案 0 :(得分:0)
由于您能够成功地看到在提交时触发了自由式作业,因此我们确定GitHub已正确配置。现在,要解决声明性管道问题,您必须在管道代码中使用http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi?board=riddles_cs;action=display;num=1316188034。
例如,
pipeline {
agent any
triggers {
// Instead of '* * * * *', you may use 'H/2 * * * *' which will check for source code changes every two minutes
pollSCM '* * * * *'
}
stages {
stage ('Echo') {
steps {
echo 'Hello, World!'
}
}
}
}
注意:
Build Triggers
部分中,您 still 必须保持选中GitHub hook trigger for GITScm polling
的复选框So, just manually trigger the job once and things should be fine
。post-commit
功能。遗憾的是,仅在启用GitHub Webhooks的情况下,pipeline
的工作不会在没有triggers指令帮助的情况下触发。