本博客适合了解jenkins的人,不懂的可以先自己了解jenkins
先上主要的代码

最重要的是构建一套可以自动编译安卓代码的jenkins工程,其主要的要点是1.构建周期,2.构建时机(并不是所有的commit都需要构建),构建周期可以设置Poll SCM,我自己设置的H/5 * * * *(5分钟构建一次),那么下来就是构建时机了,以上的shell代码就是构建时机
git log -1 --pretty=format:%s //获取git log 中的第一条log信息中的提交内容 ,下图中的“pr提现可以测试"

echo "JSC_COMMIT_NAME=$message" >> env.properties //将这个信息输出到本地的一个env.properties 文件中

接着就是 if else 的判断了,大概意思就是判断 这个log信息内容中是否包含pr,如果不包含 exit -1 退出,如果包含,继续判断上一次成功的commit是否存在,不存在exit 0 跳出shell 继续执行gradle编译,如果存在,则判断上一次成功的commit和当前的commit是否一样,不一样则构建,一样则退出(防止用户在jenkins中点击立即构建按钮一只构建pr)



网友评论