CentOS7下部署开源持续集成工具Jenkins
Jenkins: 最流行的开源免费持续集成工具:java语言开发,用于监控持续重复的工作,包括:持续的软件版本发布/测试项目,监控外部调用执行的工作。
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台,起源于Hudson(Hudson是商用的), Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle
Jenkins特点如下图所示
1、易安装
仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
2、易配置
提供友好的GUI配置界面;
3、变更支持
Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中
4、永久链接
用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接
5、E-Mail/RSS/IM
当完成一次集成时,可通过这些工具实时告诉你集成结果
6、分布式构建
Jenkins可以把集成构建等工作分发到多台计算机中完成;
7、测试报告
JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
8、第三方插件
使得 Jenkins 变得越来越强大;
下面介绍在CentOS7下部署开源持续集成工具Jenkins
1、yum源配置
代码语言:javascript复制wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all
yum makecache
2、yum方式安装openjdk-1.8
代码语言:javascript复制yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
3、确定java的真实路径,配置JDK环境变量
代码语言:javascript复制which java
ll /usr/bin/java
ll /etc/alternatives/java
可以看到java真实路径为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre/bin/java
代码语言:javascript复制vi /etc/profile.d/java8.sh
加入如下内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
cat /etc/profile.d/java8.sh
#source使其生效
source /etc/profile.d/java8.sh
如果有装其它JDK环境,可以使用如下命令切换默认java环境
代码语言:javascript复制alternatives --config java
4、安装jenkins.repo
官网下载jenkins.repo,然后rpm --import导入key
代码语言:javascript复制wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins
由于jenkins的yum源在国外,yum安装太慢,可以先下载rpm到本地后,yum localinstall本地安装,节省时间
代码语言:javascript复制yum localinstall jenkins-2.222.4-1.1.noarch.rpm
5、修改jenkins的默认路径
代码语言:javascript复制vi /etc/sysconfig/jenkins
JENKINS_HOME这一行
修改为
JENKINS_HOME="/data/jenkins"
创建/data/jenkins目录
mkdir /data/jenkins
修改目录的属主
chown jenkins /data/jenkins
6、启动Jenkins服务
代码语言:javascript复制systemctl enable jenkins
systemctl start jenkins
Jenkins默认8080端口,当然也可以自行修改
netstat -anp | grep 8080
7、针对出现Please wait while Jenkins is getting ready to work的情况
处理办法
代码语言:javascript复制cd /data/jenkins/
cp hudson.model.UpdateCenter.xml hudson.model.UpdateCenter.xml_bak
vi hudson.model.UpdateCenter.xml
原先为
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
替换成如下
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
</sites>
然后systemctl restart jenkins重启服务
8、解锁jenkins
cat /data/jenkins/secrets/initialAdminPassword
9、Jenkins新手入门配置
10、配置maven
代码语言:javascript复制cd /data/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 maven
vi /etc/profile.d/maven.sh
cat /etc/profile.d/maven.sh
export MAVEN_HOME=/data/maven
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile.d/maven.sh