我在配置jenkins时遇到问题,无法自动构建和部署java项目。我想每天构建和部署一次。然而,这种构建只在白天有变化。如果没有变化,我不希望jenkins自动构建和部署。 注意:我使用gitlab作为源代码管理。 你能帮我解决一下这个配置吗?
答案 0 :(得分:2)
首先,您应该将作业配置页面顶部的Git SCM部分配置为指向您的GitLab存储库。
然后您可以使用内置的“Poll SCM”构建触发器 - 这将定期检查您的源代码存储库是否已更改 - 如果已更改,则将启动此作业的构建。
如果自上次构建以来存储库没有更改,则不会启动任何构建。
您可以配置此触发器 - 无论是使用类似cron的语法,还是使用@daily
或@midnight
等快捷方式 - 以便Jenkins每天只检查一次源存储库。
此外,您应确保启用“忽略提交后挂钩”选项。如果您在Git存储库中使用webhooks在提交时启动Jenkins作业,则此选项会阻止每次Git提交触发每日一次的作业。
答案 1 :(得分:1)
以下是详细文档:“ Jenkins CI集成”
http://doc.gitlab.com/ee/integration/jenkins.html
更新以符合您的评论。
您不希望通过webhook触发Jenkins构建。没关系。
您想每天检查一次代码更改。
Linux上的示例,如果有任何代码更改,则在上午6:00构建。
安装
构建触发器
0 6 * * *
喜欢这个
SINCE=`curl http://192.168.0.1:8080/job/MyJava/lastStableBuild/buildTimestamp?format=dd-MMM-yyyy`
cd /opt/code/myjava/
git log --pretty="%h - %s" --author=gitster --since=$SINCE --before=$SINCE --no-merges -- t/
构建后的操作
commit
AND
Jenkins文本查找器
Could not match