在开发中,需要经常频繁的对测试服务器进行部署,而且在多人协同中开发经常遇到的问题就是别人更新了他的代码,而你去更新你的代码时并没有更新到别人的代码,导致测试环境的代码不是最新,当然这个问题也好解决,那就是每次更新的时候先获取版本控制器上面的代码,然后更新,当然每次这样操作都是耗时耗力的,如果是整个项目更新,一般项目至少3、40M上传到服务器也需要一定的时间,而部分更新,也需要找到指定的文件或者整个代码覆盖,然后重启服务器(Tomcat里面直接覆盖class虽然可以配置热加载,但是容易内存溢出),就我工作中的情况而言,是每次都需要先把代码上传到服务器-解压-找到Tomcat进程id(Linux)-kill线程-启动Tomcat,每次下来就需要最少几分钟时间,而且每天有可能多次部署,所以对整个工作效率是有一定影响的。正是因为以上种种,所以才有了本文,而本文最终的结果就是一旦代码上传到Git或者svn的时候,代码能自动部署到服务器上面去,这样我们就只需要吧正确的代码提交的版本控制器,就不用理会服务器的更新了。
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
参考文档:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8
yum install -y java-1.8.0-openjdk
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
systemctl start jenkins
//查询admin密码
[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
c0c2606603c54d698d41849d928bd8c8
访问 http://ip:8080/ 进行安装
安装具体配置详情:https://cloud.tencent.com/developer/article/1139889
[root@zhdy-01 ~]# vim /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins" //定义Jenkins的home主目录
JENKINS_USER="jenkins" //以哪个用户启动的
JENKINS_PORT="8080" //监听端口
主目录下的jobs 目录: 定义创建新任务的目录
logs : 定义相关日志
nodes:定义多节点
plugins: 插件所在的目录
secrets:密码,密钥相关的目录
users:用户目录
XXXX.xml:配置文件