stage('Checkout repo'){
git branch: 'mybranch',
credentialsId: '6b83e39e-1c8c-44c2-9165-b1f5a857f6cb',
url: 'git@gitlab.com:myproject.git'}
stage('run tests'){
sh 'mvn test'
}
stage('build artefact'){
sh 'mvn clean package'
}
如果有新提交,如何运行测试并制作新工件? 没有触发器
答案 0 :(得分:2)
您可以使用Git Plugin中的环境变量并创建条件:
if (env.GIT_COMMIT != env.GIT_PREVIOUS_SUCCESSFUL_COMMIT) {
stage('run tests'){
sh 'mvn test'
}
stage('build artefact'){
sh 'mvn clean package'
}
}
答案 1 :(得分:1)
有三种方法可以自动触发Jenkins作业。
您可以在管道作业中使用SCM polling
,以便每次发生更改时都会触发您的工作。
您可以在管道作业配置的“Build Triggers”部分下启用Poll SCM
。
当Webhooks
存储库发生更改时,您可以使用GitHub
自动触发作业。
关注此documentation以实现Webhook
。
当存储库中有提交时,您可以使用post-commit
挂钩来触发作业。
在存储库的post-commit
目录下创建一个名为.git/hooks
的文件,并将以下脚本添加到其中:
#!/bin/bash
curl --user 'user:pass' -X POST "http://server.org.com/jenkins/job/JOB-NAME/build" --data token=mytoken1 --data delay=0sec