目的
在开发中,需要经常频繁的对测试服务器进行部署,而且在多人协同中开发经常遇到的问题就是别人更新了他的代码,而你去更新你的代码时并没有更新到别人的代码,导致测试环境的代码不是最新,当然这个问题也好解决,那就是每次更新的时候先获取版本控制器上面的代码,然后更新,当然每次这样操作都是耗时耗力的,如果是整个项目更新,一般项目至少3、40M上传到服务器也需要一定的时间,而部分更新,也需要找到指定的文件或者整个代码覆盖,然后重启服务器(Tomcat里面直接覆盖class虽然可以配置热加载,但是容易内存溢出),就我工作中的情况而言,是每次都需要先把代码上传到服务器-解压-找到Tomcat进程id(Linux)-kill线程-启动Tomcat,每次下来就需要最少几分钟时间,而且每天有可能多次部署,所以对整个工作效率是有一定影响的。正是因为以上种种,所以才有了本文,而本文最终的结果就是一旦代码上传到Git或者svn的时候,代码能自动部署到服务器上面去,这样我们就只需要吧正确的代码提交的版本控制器,就不用理会服务器的更新了
安装jenkins
1 安装JDK1.7
yum list installed |grep java
yum -y list java*
yum -y install java-1.7.0-openjdk*
java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (rhel-2.6.14.8.el7_5-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)
ll /etc/alternatives/java
lrwxrwxrwx 1 root root 76 May 23 09:23 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre/bin/java
cd /usr/lib/jvm
ll
total 4
lrwxrwxrwx 1 root root 26 May 23 09:23 java -> /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root 32 May 23 09:23 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
lrwxrwxrwx 1 root root 40 May 23 09:23 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
drwxr-xr-x 10 root root 4096 May 23 09:23 java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
lrwxrwxrwx 1 root root 34 May 23 09:23 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx 1 root root 21 May 23 09:23 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 May 23 09:23 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 35 May 23 09:23 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx 1 root root 54 May 23 09:23 jre-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64 -> java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre
lrwxrwxrwx 1 root root 29 May 23 09:23 jre-openjdk -> /etc/alternatives/jre_openjdk
java的home目录是:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
echo $CLASSPATH
.:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/lib/dt.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/lib/tools.jar
卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。
◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。
当结果显示为Complete!即卸载完毕。
2)安装Tomcat7+jenkins.war环境
拷贝jenkins.war到tomcat的webapps文件夹下,如果tomcat是启动的,jenkins项目会自动解压启动的,如果tomcat是停止的,需要启动tomcat服务,进入bin文件夹,linux环境下执行 ./startup.sh即可启动服务
然后,访问地址:http://ip:8080/jenkins ,具体ip为你部署的机器的ip, 看到如下界面,那么恭喜你,jenkins启动了。
地址:https://jenkins.io/index.html, 本人下载了2.19.3版本的war包:jenkins.war包不能混用,否则会报错。
Tomcat7下载地址:http://tomcat.apache.org/download-70.cgi
直接将 jenkins.war拷贝到/usr/local/tomcat7/webapps目录下,webapps目录下原来的内容全部删除(如果不删除也可以)
[root@115 webapps]# pwd
/usr/local/tomcat7/webapps
[root@115 webapps]# ll
-rw-r--r--. 1 root root 63664946 2月 3 22:26 jenkins.war
修改tomcat的配置文件,确保使用UTF-8编码(如下添加URIEncoding="UTF-8"),以防jenkins出现中文乱码:
[root@115 conf]# pwd
/usr/local/tomcat7/conf
[root@jenkins-server conf]# vim server.xml
........
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
设置系统环境变量,在/etc/profile底部添加下面内容
[root@115 conf]# vim /etc/profile
.......
JENKINS_HOME="/usr/local/tomcat7/webapps/jenkins"
export JENKINS_HOME
使之生效
[root@115 conf]# source /etc/profile
[root@115 conf]# echo $JENKINS_HOME
/usr/local/tomcat7/webapps/jenkins
然后重启tomcat服务
[root@115 webapps]# /usr/local/tomcat7/bin/startup.sh
显示tomcat start表示启动起来了。
[root@115 webapps]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 45515 root 46u IPv6 47030248 0t0 TCP *:radan-http (LISTEN)
[root@115 webapps]# pwd
/usr/local/tomcat7/webapps
[root@115 webapps]# ll
total 62180
drwxr-xr-x. 9 root root 4096 Oct 30 20:39 jenkins
-rw-r--r--. 1 root root 63664946 Oct 30 20:38 jenkins.war
3)web访问,访问的密码在/usr/local/tomcat7/webapps/jenkins/secrets/initialAdminPassword下
http://ip:8080/jenkins
Jenkins拥有很多插件,一般在开始我们并不清楚需要什么插件的时候,可以选择自定义安装,把所有基本的插件全部安装好,此页面第一个按钮是安装推荐插件,第二个是自己选择安装,这里我选择第二个按钮。
此界面是初始化安装插件的界面,先选择All插件,然后点击install
在这个界面需要多等一下,因为是在网上下载插件,而且是外国的网站,所以经常有下载失败的情况,最好打开V梯P子N,当所有插件安装完成后会有continue按钮出现,如果没有则刷新一下页面,当然也可能存在有插件安装失败,根据自己是否需要自行选择retry或continue,这里因为我的都已经安装完成了,所以进入到了下一个页面.
各种插件安装完后,开始设置账户信息,以后用此账户登录jenkins。
其他具体的配置详看:
http://blog.51cto.com/linuxg/1790033