jenkins自动化部署

本文主要记录线上的自动化发布的流程

代码管理gitlab

  1. 规范来说,任何生产环境的代码,必须严格与 git 仓库一致。即一切提交到 master的代码,必须短时间内上线,反过来,服务器上在运行的代码一定是在 git 仓库里的。
  2. 合理使用 git 分支。master 分支表示当前生产环境在使用的代码,不是谁都可以提交的,必须是授权人员才能提交代码到 master。而项目中,根据不同的开发周期,设定多个 开发特性 分支,一般开发人员提交代码到对应的 开发特性 分支。
    测试时,可以直接把特性分支发布到测试环境,测试不通过,继续修改特性分支代码提交重新发布到测试环境。测试验收通过,merge 到 master 分支,再把 master 分支发布到预发布环境测试,验收通过,将 master 分支发布到生产环境。

相关文章: 搭建内网gitlab仓库

自动化发布ansible

  1. 自动化的部署主要就是服务器代码的更新:java、php
  2. PHP部署发布的效率也相对简单,PHP文件发到线上即可运行,不用复杂的编译、打包和启停动作,只需要获取到最新的代码,一个rsync操作即可。
    但是对于Java应用来说整个环节就没有这么简单了,Java文件涉及到编译、二方包、三方包依赖,然后编译打包后,将软件包发布到制定的机器上,然后还要重启Java进程,最新的文件才能得以执行,期间还会涉及服务的注册和下线问题等等,这些都是需要考虑的。

相关文章:ansible部署脚本

项目构建maven


java和Android代码都会有一些jar包的依赖,这个包在编译的时候会去中央仓库下载,同时也会有一些内部的jar包存放,这个时候就需要在企业内部有一个私服了。

相关文章:maven介绍及私服搭建

集成工具jenkins


jenkins是一个持续集成工具,相当于一个调度平台,如果你的目的只是自动化部署的话,直接自己写脚本或者用Ansible、Salt、Puppet、Chef、Fabric等自动化部署工具就行,如果你是想在job中加入自动话部署流程的话,可以先写好自动化部署脚本然后在jenkins构建任务的Execute Shell中调用相应的Script。

相关文章: jenkins部署及构建方式

代码质量管理sonarqube


现在的代码质量管理,无非就是人为cide review,和第三方代码扫描工具(审核的结果还需要人为的验证),这里我是通过 jenkins 结合 sonarqube做的一个代码质量分析平台。

相关文章: jenkins+sonar 代码质量分析

本文标题:jenkins自动化部署

文章作者:火柴

发布时间:2017年06月01日 - 15:06

最后更新:2017年07月25日 - 13:07

原始链接:http://www.chen-hao.com.cn/posts/65280/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

火柴 wechat
扫描上方二维码关注我的博客!
0%