一、前言:1、jenkins 相关网站
Jenkins官网:https://jenkins.io/
Jenkins官网文档:https://www.jenkins.io/zh/doc/
Jenkins学习文档:https://www.w3cschool.cn/jenkins/jenkins-5h3228n2.html
jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
2、jenkins官网:https://www.jenkins.io/
- 下载需要的 LTS 版本:2.400 【版本号一定要记住,不同的版本号,兼容、语法可能会有不同】
二、正式离线部署
1、两台服务器都安装jdk11(Jenkins 2.357 和即将发布的 后续 LTS 版本开始,Jenkins 最低需要 Java 11,所以jdk最低要安装到11)
- 只在master安装jenkins。slave不安装jenkins
- 安装jdk方式很多,此次使用rpm方式安装。网上下载rpm包,
华为地址JDK1.8:https://repo.huaweicloud.com/java/jdk/8u191-b12/
华为地址JDK11:https://repo.huaweicloud.com/java/jdk/11.0.2+9/
各种jdk发行版地址汇总国内下载:https://www.injdk.cn/
- 使用华为JDK:
wget https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_linux-x64_bin.rpm
- rpm安装
`rpm -ivh jdk-11.0.2_linux-x64.rpm`
- 编辑环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk-11.0.2
export PATH=$JAVA_HOME/bin:$PATH
- 使环境变量生效
source /etc/profile
- 查看版本:
java -version
2、下载jenkins 包(只有master安装jenkins,slave不安装jenkins)
- 华为云—开源镜像
wget https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_linux-x64_bin.rpm
3、安装jenkins
rpm -ivh jenkins-2.400-1.1.noarch.rpm
- RPM包安装的内容
[root@jenkins ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/bin/jenkins
/usr/lib/systemd/system/jenkins.service
/usr/sbin/rcjenkins
/usr/share/java/jenkins.war
/usr/share/jenkins
/usr/share/jenkins/migrate
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
- 配置文件说明
[root@jenkins ~]# grep "^[a-Z]" /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="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_ARGS=""
- 因 rpm安装jenkins默认启动8080端口。但是gitlab占用了8080端口,故需要修改jenkins端口为:8088
vim /etc/sysconfig/jenkins
JENKINS_PORT="8088"
- 同时,需要修改systemctl 服务的端口。
- 且修改用户和组为root。
vim /usr/lib/systemd/system/jenkins.service
#Environment="JENKINS_PORT=8080"
Environment="JENKINS_PORT=8088"
#User=jenkins
#Group=jenkins
User=root
Group=root
- 修改配置文件,将用户修改成root
- 需修改成root,启动会报错。
vim /etc/sysconfig/jenkins
#JENKINS_USER="jenkins"
JENKINS_USER="root"
-
启动jenkins
···
systemctl start jenkins
···
4、登录jenkins:[http://ip:8088/]
-
初次登录密码:
-
安装推荐插件
-
等待安装:
-
此次继续使用admin账户继续。
-
实例配置
-
开始使用jenkins
-
登录成功后,首先修改admin用户密码为:xxxxxx
5、配置centos从节点
-
jenkins节点管理这块,目前只有一个节点,就是jenkins服务器
-
开始配置新节点,选择系统管理
-
然后选择全局安全设置
-
代理这里指定一个端口,然后保存。
然后在系统管理中选择节点管理
-
新建一个节点
-
起一个节点名称,然后创建
-
依次填写以下信息,这里的信息就是刚才准备的虚拟机A的信息,可以在虚拟机A的root目录下创建一个jenkins目录。
-
保存之后,可以看到这里已经有一个新的节点了。但显示节点不在线
点开可以看到以下信息,然后先点击agent.jar把这个包下载下来
-
这里注意,如果虚拟机无法下载,可以直接下载到本地,然后再上传。
然后把这个agent.jar拷贝到虚拟机A的/root/jenkins目录下,然后在虚拟机A的/root/jenkins目录下执行上面那个命令
curl -sO http://ip:8088/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://ip:8088/computer/slave/jenkins-agent.jnlp -secret 6064bxxxxxxxxxxx7ff -workDir "/root/jenkins"
-
看到以下提示信息,说明连接成功了
-
再返回节点列表,可以看到节点centos7已经是在线状态了
6、但是,上述slave 启动为前台启动。我们配置成后台启动。
- 注意:使用nohup启动,重启服务器后,需要手动启动slave-agent。
nohup java -jar agent.jar -jnlpUrl http://ip:8088/computer/slave/jenkins-agent.jnlp -secret 606xxxxxxxxxxxxxx7ff -workDir "/root/jenkins" &
7、到此,jenkins master+slave已创建完成。可做构建测试。