shell脚本实现持续集成,几行代码就能搞定。

概要

基于git仓库分支版本实现持续集成,只为持续集成,去除臃肿部署。

整体流程

1、打开工程目录,git fetch刷星更改记录。
2、获取当前分支提交的hash值,获取远程分支hash值。
3、比较哈希值,哈希值不同则执行pull、工程打包和发布命令,哈希值相同则退出。
4、将监本添加至crontab 。
5、提交代码实现持续集成。

技术名词解释

  • crontab:linux定时任务
  • git哈希值:Git 中用来唯一标识各种对象的哈希值

实现细节和代码

  • 脚本实现:
    *注意需要记住git密码`。
#vi deployTask.sh
cd <你的工程目录>
git fetch
newVer=`git rev-parse --short origin/master` #分支可以自定义
curVer=`git rev-parse --short HEAD`
if [ "$newVer" = "$curVer"  ];then
    echo ""
else 
   sh pull.sh && sh mvnPkg.sh && sh deploy.sh #执行pull/打包/发布(由于各个类型项目打包方式不一样,这里就不在详细说明)
fi
  • 将脚本添加crontab定时执行:
#crontab -e
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin#注意设置自己的环境变量
*/5 * * * * /root/deployTask.sh #根据自己的目录设置 5分钟检测一次

小结

配置完后,在origin/master分支被更新时,定时任务就会执行发布命令实现持续集成。