CentOS7安装Jenkins
安装及简单使用。
一、介绍及规划 1.1 介绍 Jenkins 是一个自动化部署的工具。依赖于 Java 开发的,由各种组件组成的一个自动化部署工具。
部署 TLS版本。
1.2 规划
主机名
ip
系统版本
用途
jenkins-server
192.168.10.61
centos7
java17+jenkins 2.536.1
1.3 版本对应 和 java 版本的关系
标注哈希和日期的详细版本
Supported Java versions
Long term support (LTS) release
Weekly release
Java 21 or Java 25
2.541.1 (January 2026)
2.545 (January 2026)
Java 17, Java 21, or Java 25
N/A
2.534 (October 2025)
Java 17 or Java 21
2.479.1 (October 2024)
2.463 (June 2024)
Java 11, Java 17, or Java 21
2.426.1 (November 2023)
2.419 (August 2023)
Java 11 or Java 17
2.361.1 (September 2022)
2.357 (June 2022)
Java 8, Java 11, or Java 17
2.346.1 (June 2022)
2.340 (March 2022)
Java 8 or Java 11
2.164.1 (March 2019)
2.164 (February 2019)
Java 8
2.60.1 (June 2017)
2.54 (April 2017)
Java 7
1.625.1 (October 2015)
1.612 (May 2015)
二、安装 官网
安装 java 环境
1 2 3 4 5 6 7 8 cat <<EOF > /etc/yum.repos.d/adoptium.repo [Adoptium] name=Adoptium baseurl=https://packages.adoptium.net/artifactory/rpm/centos/7/\$basearch enabled=1 gpgcheck=1 gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public EOF
1 yum install temurin-17-jdk -y
导入key
1 rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
获取安装包,2.479-1.1 最低支持 JAVA17 的长期版本。
1 wget https://get.jenkins.io/redhat/jenkins-2.536-1.1.noarch.rpm
安装
1 rpm -ivh jenkins-2.536-1.1.noarch.rpm
启动
1 systemctl enable --now jenkins
三、使用 3.1 登录
获取自动生成的密码
1 cat /var/lib/jenkins/secrets/initialAdminPassword
访问 http://192.168.10.61:8080
不自动安装插件,手动来安装
设置用户名、密码、登录
3.2 手动安装插件插件下载地址
镜像插件下载地址
1 2 3 4 5 6 7 8 9 10 11 localization-zh-cn git git parameter gitlab
解压
1 tar -xf jenkins-2.536-plugins.tar.gz -C /var/lib/jenkins/plugins
重启 jenkins
1 systemctl enable --now jenkins
三、优化
设置为国内更新地址
1 cd /var/lib/jenkins/updates
1 2 sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
修改站点为国内更新地址
1 https://mirrors.huaweicloud.com/jenkins/update-center.json
系统安装 git
处理管理账户密码丢失问题
1 vim /var/lib/jenkins/users/admin*/config.xml
1 <passwordHash>#jbcrypt:$2a$10$MiIVR0rr /UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>
此时可以使用 123456 来登录。
四、案例 4.1 shell的参数化构建 4.1.1 环境准备
查看 jenkins 的启动用户
修改 jenkins 的启动用户
1 systemctl cat jenkins.service
1 vim /usr/lib/systemd/system/jenkins.service
1 2 3 4 [root@jenkins-server ~]# egrep -i '^user|^group' /usr/lib/systemd/system/jenkins.service User=root Group=root [root@jenkins-server ~]#
1 2 sed -i 's/User=jenkins/User=root/g' /usr/lib/systemd/system/jenkins.service sed -i 's/Group=jenkins/User=root/g' /usr/lib/systemd/system/jenkins.service
重载配置
重启
1 systemctl restart jenkins
验证启动用户
4.1.2 构建
创建两个文件夹
参数化构建
编写 shell 脚本
1 2 3 4 5 6 7 case "$choose " in dev) echo "部署到测试环境" ;; prod) echo "部署到生产环境" ;; esac echo "当前用户是:`whoami`" echo "当前的路径是:`pwd`"
开始构建
观察输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Started by user admin Running as SYSTEM Building in workspace /var/lib/jenkins/workspace/dev测试环境/001-测试shell的参数化构建 [001-测试shell的参数化构建] $ /bin/sh -xe /tmp/jenkins462237898656312433.sh + case "$choose " in + echo 部署到生产环境 部署到生产环境 ++ whoami + echo 当前用户是:root 当前用户是:root ++ pwd + echo 当前的路径是:/var/lib/jenkins/workspace/dev测试环境/001-测试shell的参数化构建 当前的路径是:/var/lib/jenkins/workspace/dev测试环境/001-测试shell的参数化构建 Finished: SUCCESS
4.2 集成 GitLab
拉取代码。主要就是配置 SSH 密钥等一系列操作。使用了此开源项目 ,纯HTML、CSS、JS项目。
4.2.1 准备环境
安装 GitLab
设置解析
1 2 3 cat >> /etc/hosts << EOF 192.168.10.66 gitlab.007890.xyz EOF
创建并上传开源项目,配置客户端与 GitLab 的SSH公钥
1 2 git config --local user.name "Administrator" git config --local user.email "gitlab_admin_f4d2fd@example.com"
1 2 git add . git commit -m "v1.0"
1 2 git remote add origin git@gitlab.007890.xyz:root/cxk-ball.git git push origin --all
4.2.2 构建
配置 Jenkins-Server 任务
1 002-freestyle-gitlab-project
配置 ssh 格式的仓库地址
配置SSH公钥、私钥
信任远程主机
打包压缩
1 tar -zcvf /tmp/ball.tar.gz .
验证。
4.3 拉取指定代码 拉去指定分支、标签的代码
1 003-freestyle-project-git-target
4.3.1 环境准备
准备代码
1 2 3 4 5 git add . git commit -m "v2.0" git tag v2.0 -m 'v2.0' git push origin --tags git push origin --all
1 2 3 4 5 git add . git commit -m "v3.0" git tag v3.0 -m 'v3.0' git push origin --tags git push origin --all
安装插件
4.3.2构建
安装插件
多了一个Git参数。
1 2 3 git_tag ${git_tag} tar -zcf /tmp/ball-${git_tag}.tar.gz .
验证