文章目录
- Jenkins -1- 部署与基础配置
- 一、配置java环境并部署jenkins
- 1.1 java环境配置
- 1.2 jenkins安装
- 1.3 配置文件修改
- 1.4 启动文件修改
- 1.5 安装完成,测试访问
- 1.6 输入密码,继续
- 1.7 检查插件
- 1.8 安裝插件(一般选择安装推荐插件)
- 1.9 开始安装(网路不好,可能需要安装反向代理)
- 1.10 插件安装完成,创建管理员账户(信息均是自定义),保存并完成
- 1.11 保持默认,不要求改,保存并完成
- 1.12 点击 重启 或 开始使用jenkins
- 1.13 jenkins的使用
- 1.14 安装gitlab插件
- 1.15 创建任务(一般是自由风格或流水线)
- 1.16 配置任务
- 1.17 立即构建,查看构建历史
- 1.18 将jenkins的服务器密钥考至web服务器
- 1.19 服务器非交互配置好后,配置job
- 1.20 替换代码
- 1.21 jenkins控制台配置job
- 1.23 测试访问替换后内容
Jenkins -1- 部署与基础配置
官网:https://www.jenkins.io/zh/
一、配置java环境并部署jenkins
1.1 java环境配置
root@jenkins: tar xvf jdk-8u192-1inux-x64.tar.gz -C /usr/local
root@jenkins: ln -sv /usr/local/jdk1.8.0_311 /usr/local/jdk
root@jenkins: ln -sv /usr/local/jdk/bin/java /usr/bin/ #java命令软连接
root@jenkins: vim /etc/profile
export HISTTIMEFORMAT="%F %T `whoami`"
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
root@jenkins: source /etc/profile
root@jenkins: java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
1.2 jenkins安装
官网:https://www.jenkins.io/zh/download/
清华源ubuntu安装包:https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/
清华源centos安装包:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
1.2.1 官网下载:https://www.jenkins.io/zh/download/
注:要用stable稳定版
Ubuntu
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
apt-get update
apt-get install fontconfig openjdk-11-jre
apt-get install jenkins
1.2.2 war包安装(一般生产环境不用)
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.361.3/jenkins.war
apt update
apt install openjdk-11-jdk -y
java \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname="172.31.5.103" \
-jar jenkins-2.277.4.war &
1.2.3 清华镜像源安装
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.361.3_all.deb
apt update
apt install openjdk-11-jdk -y
apt install daemon
dpkg -i jenkins_2.361.3_all.deb
1.3 配置文件修改
避免后续权限问题,测试环境可以把JENKINS_USER和JENKINS_GROUP改为root,其他可以不动
vim /etc/default/jenkins
# user and group to be invoked as (default to jenkins)
JENKINS_USER=root
JENKINS_GROUP=root
1.4 启动文件修改
避免后续权限问题,测试环境可以把启动文件的user和group改为root
vim /lib/systemd/system/jenkins.service
User=root
Group=root
systemctl daemon-reload
systemctl restart jenkins
systemctl enable jenkins
重启后检查进程启动用户,如果不是root需排查
ps aux|grep jenkins
1.5 安装完成,测试访问
http://10.100.0.201:8080/
需要输入管理员密码
1.6 输入密码,继续
cat /var/lib/jenkins/secrets/initialAdminPassword
1.7 检查插件
1.8 安裝插件(一般选择安装推荐插件)
1.9 开始安装(网路不好,可能需要安装反向代理)
1.10 插件安装完成,创建管理员账户(信息均是自定义),保存并完成
用户: jenkinsadmin
密码: 123456
全名: jenkinsadmin
电子邮箱: 填一个正确的邮箱即可
1.11 保持默认,不要求改,保存并完成
1.12 点击 重启 或 开始使用jenkins
注:如果发现进入jenkins有大部分英文,重启jenkins服务
重启jenkins服务
systemctl restart jenkins
1.13 jenkins的使用
1.13.1 配置信息
root@jenkins-master:~# ll /var/lib/jenkins
total 108
drwxr-xr-x 13 jenkins jenkins 4096 Nov 14 14:53 ./
drwxr-xr-x 39 root root 4096 Nov 7 23:00 ../
drwxr-xr-x 3 jenkins jenkins 4096 Nov 13 14:31 .cache/
-rw-r--r-- 1 jenkins jenkins 1660 Nov 14 14:53 config.xml
drwxr-xr-x 3 jenkins jenkins 4096 Nov 14 14:49 .groovy/
-rw-r--r-- 1 jenkins jenkins 156 Nov 14 14:53 hudson.model.UpdateCenter.xml
-rw-r--r-- 1 jenkins jenkins 371 Nov 14 14:49 hudson.plugins.git.GitTool.xml
-rw------- 1 jenkins jenkins 1680 Nov 14 14:49 identity.key.enc
drwxr-xr-x 3 jenkins jenkins 4096 Nov 13 14:31 .java/
-rw-r--r-- 1 jenkins jenkins 7 Nov 14 14:53 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r-- 1 jenkins jenkins 7 Nov 14 14:52 jenkins.install.UpgradeWizard.state
-rw-r--r-- 1 jenkins jenkins 182 Nov 14 14:52 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r--r-- 1 jenkins jenkins 171 Nov 13 14:31 jenkins.telemetry.Correlator.xml
drwxr-xr-x 2 jenkins jenkins 4096 Nov 13 14:31 jobs/
-rw-r--r-- 1 jenkins jenkins 0 Nov 14 14:53 .lastStarted
drwxr-xr-x 3 jenkins jenkins 4096 Nov 13 14:48 logs/
-rw-r--r-- 1 jenkins jenkins 907 Nov 14 14:53 nodeMonitors.xml
drwxr-xr-x 2 jenkins jenkins 4096 Nov 13 14:31 nodes/
-rw-r--r-- 1 jenkins jenkins 4 Nov 13 23:15 .owner
drwxr-xr-x 92 jenkins jenkins 12288 Nov 14 14:49 plugins/
-rw-r--r-- 1 jenkins jenkins 129 Nov 14 14:53 queue.xml.bak
-rw-r--r-- 1 jenkins jenkins 64 Nov 13 14:31 secret.key
-rw-r--r-- 1 jenkins jenkins 0 Nov 13 14:31 secret.key.not-so-secret
drwx------ 2 jenkins jenkins 4096 Nov 14 14:51 secrets/
drwxr-xr-x 2 jenkins jenkins 4096 Nov 14 14:49 updates/
drwxr-xr-x 2 jenkins jenkins 4096 Nov 13 14:31 userContent/
drwxr-xr-x 3 jenkins jenkins 4096 Nov 14 14:51 users/
1.13.2 插件管理
系统管理→插件管理
1.13.3 可更新
1.13.4 可选插件:可以安装新插件
1.13.5 已安装:可以看到安装的插件,部分插件可卸载
1.13.6 高级:可以上传本地已下载的插件,进行安装
(上传本地插件,需要将插件统一放入/var/lib/jenkins/plugins/下,重启jenkins)
1.14 安装gitlab插件
Gitlab API、GitLab Logo、Blue Ocean、Gitlab Hook、GitLab Authentication,选择Install without restart
可以选择安装完成后重启jenkins,如果暂时不能重启,可以后续手动重启
重启完手动刷新页面,重新登录
选择后会自动重启,不选择需要手动重启systemctl restart jenkins
1.15 创建任务(一般是自由风格或流水线)
选择自由风格,确定
1.16 配置任务
构建环境选Delete,在构建前删除缓存或历史数据
在这里插入图片描述
1.17 立即构建,查看构建历史
查看构建控制台输出,只有是"SUCCESS"则表示成功
1.18 将jenkins的服务器密钥考至web服务器
root@jenkins-master:~# ssh-keygen
#记得web服务器的普通户设置密码(passwd tomcat)
root@jenkins-master:~# ssh-copy-id tomcat@10.100.0.203
root@jenkins-master:~# ssh-copy-id tomcat@10.100.0.204
测试访问web
root@jenkins-master:~# ssh tomcat@10.100.0.203
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-112-generic x86_64)
...略
tomcat@web1:~$ exit
logout
Connection to 10.100.0.203 closed.
root@jenkins-master:~#
1.19 服务器非交互配置好后,配置job
ssh tomcat@10.100.0.203 "ifconfig"
立即构建,查看构建历史控制台输出
1.20 替换代码
确认jenkins上的代码
root@jenkins-master:~# mkdir /opt/web1
root@jenkins-master:~# vim /opt/web1/index.html
root@jenkins-master:~# cat /opt/web1/index.html
<h1>111111</h1>
<h1>222222</h1>
<h1>333333</h1>
<h1>444444</h1>
<h1>555555</h1>
1.21 jenkins控制台配置job
停止web服务→替换服务器→启动服务
ssh tomcat@10.100.0.203 "/etc/init.d/tomcat stop"
ssh tomcat@10.100.0.204 "/etc/init.d/tomcat stop"
scp /opt/web1/index.html tomcat@10.100.0.203:/data/tomcat/tomcat_webdir/myapp/index.html
scp /opt/web1/index.html tomcat@10.100.0.204:/data/tomcat/tomcat_webdir/myapp/index.html
ssh tomcat@10.100.0.203 "/etc/init.d/tomcat start"
ssh tomcat@10.100.0.204 "/etc/init.d/tomcat start"
1.23 测试访问替换后内容
http://www.mysite.com/myapp/
请不要以此视为定论,这只是我的个人经验