Jenkins 的工作原理是先将源代码从 SVN/Git 版本控制系统中拷贝一份到本地,然后根据设置的脚本进行 build(构建)。整个系统的关键就是 build 脚本,build 脚本告诉 Jenkins 在一次集成中需要执行的任务。
配置环境
操作系统 | IP地址 | 主机名 | 角色 |
CentOS7.5 | 192.168.200.112 | Jenkins | Jenkins服务器 |
安装配置 Jenkins
[root@jenkins ~]# hostname jenkins
[root@jenkins ~]# systemctl stop firewalld
[root@jenkins ~]# iptables -F
[root@jenkins ~]# setenforce 0
软件要求
Java 8 无论是 Java 运行时环境(JRE)还是 Java 开发工具包(JDK)都可以。
[root@jenkins ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@jenkins ~]# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
Jenkins 安装方式一:war 包
先安装 tomcat 将 Jenkins.war 直接放到 webapps 目录下
通过 Java-jar Jenkins.war --httpPort=8080 命令直接运行
官方仓库 https://pkg.jenkins.io/redhat-stable/
清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
下载相应的数据包即可,我这里使用的是 jenkins-2.190.3-1.1.noarch.rpm
Jenkins 安装方式二:rpm 方式(推荐)
[root@jenkins ~]# rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
启动 Jenkins
[root@jenkins ~]# /etc/init.d/jenkins start
Starting jenkins (via systemctl): [ 确定 ]
[root@jenkins ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 967/sshd
tcp6 0 0 :::8080 :::* LISTEN 3069/java
tcp6 0 0 :::22 :::* LISTEN 967/sshd
tcp6 0 0 :::34616 :::* LISTEN 3069/java
RPM 包安装的内容
[root@jenkins ~]# rpm -ql jenkins
/etc/init.d/jenkins # 启动文件
/etc/logrotate.d/jenkins # 日志分割配置文件
/etc/sysconfig/jenkins # Jenkins 主配置文件
/usr/lib/jenkins # 存放 war 包目录
/usr/lib/jenkins/jenkins.war # war 包
/usr/sbin/rcjenkins # 命令
/var/cache/jenkins # war 包解压目录 Jenkins 网页代码目录
/var/lib/jenkins # Jenkins 工作目录
/var/log/jenkins # 日志
配置文件说明
[root@jenkins ~]# grep "^[a-Z]" /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins" # Jenkins 工作目录
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins" # Jenkins 启动用户
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080" # 端口
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100" # 最大连接
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""
浏览器访问测试: http://192.168.200.112
解锁 Jenkins,密码从命令行中获取
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
0e1a6450e16c43e1822bd7c1bf9bf696
输入授权密码,然后点击下一步
Jenkins 离线解决方法:
1.保留此离线页面,重新开启一个浏览器 tab 标签页
2.输入网址:http://192.168.200.112:8080/pluginManager/advanced
3.进入该页面最底下,找到【升级站点】,把其中的链接改成 http,http://updates.jenkins.io/update-center.json,确定保存
4.提示 jenkins ,在重新启动 jenkins ,OK,已经可以重新联网,下载插件
重要:如果改完 Http 还是不行,请改成如下镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
http://mirror.xmission.com/jenkins/updates/update-center.json
[root@jenkins ~]# vim /var/lib/jenkins/updates/default.json
{"connectionCheckUrl":"http://www.baidu.com/"
[root@jenkins ~]# /etc/init.d/jenkins start
Starting jenkins (via systemctl): [ 确定 ]
重启 Jenkins 服务
[root@jenkins ~]# /etc/init.d/jenkins restart
稍等一会来导安装插件选择的页面
重启Jenkins
[root@jenkins ~]# /etc/init.d/jenkins restart
Starting jenkins (via systemctl): [ 确定 ]
Linux中卸载Jenkins 的方法
1、rpm卸载
rpm -e jenkins
2、检查是否卸载成功
rpm -ql jenkins
3、彻底删除残留文件
find / -iname jenkins | xargs -n 1000 rm -rf