在CentOS上搭建Jenkins平台(非Docker)并处理相关问题。
简介
这段文本复制自Jenkins (软件) - 维基百科,自由的百科全书。
Jenkins是一款由Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。
Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。
可以通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。
准备环境
建议按照本节的顺序安装以下的包,以防止包和包之间互相依赖导致安装失败。
基础的东西
主要是一些依赖、必要的工具和能直接从源安装的包。
1 | yum install -y git curl wget |
兼容性矩阵
Jenkins 对环境的要求比较先进,如下列出了Jenkins、Maven和Java之间的兼容性关系。
Jenkins | Java | withMaven |
---|---|---|
1.520+ | 6 | 6 |
1.612+ | 7 | 7 |
2.54+ | 8 | 8 |
2.357+ | 11 | 11 |
安装JDK
【注意】:这里因为项目原因选用了Java8版本,但是实测只能支持Jenkins到2.356版本,如果需要更高的Jenkins则需要安装其他Java版本。
首先到Java官网下载JDK包,JDK8版本即可,这里以jdk-8u333-linux-x64
版本为例。
解压JDK到/usr/local
:
1 | tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local/ |
解压后赋予权限:
1 | chown root:root -R /usr/local/jdk1.8.0_333/ |
在/etc/profile
末尾追加如下内容以将JDK加入环境变量,如果JDK版本和我的不一样记得修改版本号:
1 | # set java environment |
随后应用环境变量:
1 | source /etc/profile |
执行java -version
查看是否正确执行:
1 | java version "1.8.0_333" |
安装Maven
Maven 的 bin 可以在Maven - Downloading Apache Maven 3.8.6下载到,这里以apache-maven-3.8.4-bin
为例。
解压 Maven 到/usr/local
:
1 | tar -zxvf apache-maven-3.8.4-bin.tar.gz -C /usr/local/ |
在/etc/profile
末尾追加如下内容以将Maven加入环境变量,如果Maven版本或存储文件夹的名称和我的不一样记得修改:
1 | # maven env |
随后应用环境变量:
1 | source /etc/profile |
执行mvn -v
查看是否正确执行:
1 | Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) |
安装Tomcat8
Tomcat8 的 bin 包可以在Tomcat 8 Software Downloads下载到,这里以apache-tomcat-8.5.82
版本为例。
解压 Tomcat 到/usr/local
:
1 | tar -zxvf apache-tomcat-8.5.82.tar.gz -C /usr/local/ |
将/usr/local/
下的文件夹apache-tomcat-8.5.82
改名为tomcat8
,方便后续操作。
Tomcat配置
首先打开/usr/local/tomcat8/conf/server.xml
文件,找到如下段,并在后面添加URIEncoding="UTF-8"
以解决中文乱码问题。
1 | <Connector port="8080" protocol="HTTP/1.1" |
修改后
1 | <Connector port="8080" protocol="HTTP/1.1" |
打开/usr/local/tomcat8/bin/catalina.sh
并添加如下参数以调优内存使用:
1 | JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 |
添加防火墙例外
1 | firewall-cmd --zone=public --add-port=8080/tcp --permanent |
启动Tomcat,
1 | /usr/local/tomcat8/bin/startup.sh |
并访问http://[ServerIP]:8080
,如果显示一个Tomcat的页面则为安装全部成功。
安装Jenkins
首先先下载Jenkins的war包,可以在官方站点下载,也可以到国内的清华源下载。
清空tomcat8/webapps/
目录下的示例文件(不清除也可以,随便你):
1 | rm -rf /usr/local/tomcat8/webapps/* |
将刚才下载好的war包导入进去,随后停止并重启Tomcat。
1 | /usr/local/tomcat8/bin/shutdown.sh |
随后打开http://[ServerIP]:8080/jenkins
,此时会要求你“解锁 Jenkins”,解锁密码存放在/root/.jenkins/secrets/initialAdminPassword
,直接cat后复制到这里即可。
接下来“自定义Jenkins”中选择“安装推荐的插件”即可。