本文为学习笔记,主要用于记录本人学习过程。部分内容为转载!!!!
Jenkins是什么?
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Centos下安装Jenkins
1、安装JDK1.8
tar -zxvf jdk-8u121-linux-x64.gz -C /usr/local && \
ln -sv /usr/local/jdk1.8.0_121 /usr/local/jdk1.8 && \
echo "export PATH=$PATH:/usr/local/jdk1.8/bin" >/etc/profile.d/java.sh
source /etc/profile.d/java.sh
$ java -version
2、安装Jenkins
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
$ sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum -y install jenkins
3、安装Git
$ sudo yum install -y git
设置Git的账户信息
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱"
4、maven安装
cd /usr/local/ && wget -c wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz && \
tar -zxf apache-maven-3.5.3-bin.tar.gz && \
echo "export PATH=$PATH:/usr/local/apache-maven-3.5.3/bin" > /etc/profile.d/maven.sh && \
source /etc/profile.d/maven.sh
mvn 测试
$ mvn -version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
5、svn安装
yum install subversion -y
mkdir /svnrepo
svnadmin create /svnrepo/project1 #创建一个新的Subversion项目
启动Jenkins
1、设置允许开机启动
chkconfig jenkins on
2、调整配置文件
## sudo vim /etc/sysconfig/jenkins
JENKINS_USER="root" ## 原值 "jenkins" 必须修改,否则权限不足
JENKINS_PORT="8080" ## 原值 "8080" 可以不修改
## 还有开启 HTTPS 相关参数,此处不打算开启,故不作说明
安装目录: /usr/lib/jenkins
工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)
3、启动Jenkins
sudo systemctl enable jenkins
sudo systemctl restart jenkins
查看日志文件: sudo tail -f /var/log/jenkins/jenkins.log
启动后会生成文件 hudson.model.UpdateCenter.xml需要修改它,也可以通过Vi 修改
否则浏览器首次进入时会卡在“Jenkins 正在启动,请稍后…”
## 原值: http://updates.jenkins-ci.org/update-center.json
## 新值: http://mirror.xmission.com/jenkins/updates/update-center.json
## 或者: http://mirror.xmission.com/jenkins/updates/current/update-center.json
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo sed -i 's/updates.jenkins-ci.org/mirror.xmission.com\/jenkins\/updates/g' /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo systemctl restart jenkins
4、防火墙放行
### sudo vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
### 重启生效: sudo systemctl restart iptables
5、卸载Jenkins
如果要重装,或者本机不需要 Jenkins,可卸载:
sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
配置Jenkins
1、登录
浏览器进入 http://centosip:8080/
首次进入需要输入初始密码来解锁,初始密码查看方法: sudo cat /var/lib/jenkins/secrets/initialAdminPassword
进入 Jenkins 定制界面,让选择 安装推荐的插件 或 选择插件来安装
时
设置成功后即进入Jenkins主界面:
点击左上侧系统管理,进入Jenkins基本系统设置(主要是以下三块):
先进入“管理插件”模块安装必需的插件,以下是建议安装列表:
将本文附件中的插件放入Jenkins插件存放目录即可,如本文插件存放目录为:
/var/lib/jenkins |
(可点击系统管理–>系统设置,在最上方查看,如下图);
配置系统设置
添加编码全局属性:
增加系统管理员邮件地址:
其他的可用默认配置,保存后退出。
添加全局配置Global ToolConfiguration
配置JDK,不采用自动安装:
配置maven,不采用自动安装:
手动安装的git,web界面只需添加具体可执行路径即可
三、系统部署
系统设置完成后开始添加任务,任务类型选择自由风格:
创建完成后可在主页看到如下画面:
在”All” tab下能看到新建的任务,点击该任务,进入该任务的配置页面:
设置项目备注及构建规则:
配置项目轮询的源码位置(@HEAD表示构建最新的代码)并配置代码访问密码:
配置构建触发器,如下图配置为每天晚上9:30开始构建(Cron表达式):
增加Invoke top-level Maven targets构建步骤,插件目标为编译、发现编译Bug、部署,另外还可以配置构建时忽略测试用例:
增加构建后操作步骤:Publish FindBugs analysis results,用于查看FindBugs插件的代码分析报告,该模块可采用默认配置:
增加构建后操作步骤:Deploy war/ear to a container,用于将构建后生成的war包部署至tomcat服务器,下图中Contextpath用于配置项目访问路径,如填/RMS_Server则表示项目的根访问目录为:http://localhost:8080/RMS_Server,Deploy on failure用于配置当前构建失败时是否仍然部署至tomcat,默认不选:
以上即为本项目的所有配置,完成后应用(或保存)并退出。
配置完成后即可开始构建,左侧可查看bugs分析信息及构建历史:
点击某个构建记录,如上图中的#31,即可查看构建日志、SVN代码提交日志及bugs分析结果:
四、编码问题
FindBugs分析报告中查看某些代码文件时可能出现中文乱码情况,如下图:
这是tomcat的编码问题导致的,可在系统管理中查看tomcat的相关编码情况:
主要关注的是file.encoding属性及sun.jnu.encoding属性,二者需要设置为UTF-8以兼容中文:
这可通过在tomcat配置文件/bin/catalina.bat文件中添加set “JAVA_OPTS=-Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8”命令实现,如下图:
配置完成后重启tomcat,可看到编码已经更改: