[jenkins]-jenkins使用Changelog获取commit记录
由于担心开发merge代码漏掉.因此想做一个根据是否有提交记录来判断是否merge.没有merge 依旧发布但是邮件通知运维.
首先选择了Changelog这个插件,但是这个插件在2.199版本的jenkins里安装了Git Changelog,这个插件但是好像不太对.
还是下载了github上的Changelog插件.
地址https://github.com/KrisMarko/kr-changelog
下载解压完成之后 将changelog-environment.hpi 拷贝到/root/.jenkins/plugins 下
重新启动jenkins
http://192.168.10.204:8080/restart
重启之后 会在项目的configure的构建环境下 出现一个
Add Changelog Information to Environment
Entry Format填入
%3$s(at %4$s via %1$s)\n
Date Format填入
yyyy-MM-dd HH:mm:ss
构建步骤下添加
Execute shell如下
echo 当前分支:$env echo 当前用户:${BUILD_USER_ID} echo 当前tag:${Build_on_tag} echo jenkins工作路径: $WORKSPACE echo "$deploy_step" echo changes $changes echo SCM_CHANGELOG $SCM_CHANGELOG #%3$s 为 git commit message
if [ ! -n "$SCM_CHANGELOG" ] ;then echo "没有commit记录 请注意 发送邮件通知运维" else echo "SCM_CHANGELOG 如下 $SCM_CHANGELOG" fi
user=$BUILD_USER_ID if [ "$user" != "admin" ] && [ "$user" != "jiaminxu" ] && [ "$user" != "" ] && [ "$env" == "master" ] ;then echo 当前用户:${user},没有构建生产项目权限 !! exit 7 fi |
构建两次测试
没有commit
有commit