- 博客/
Centos 7 Yum 安装 Jenkins 及常用配置的说明
Table of Contents
环境说明#
- 操作系统: CentOS Linux release 7.9.2009 (Core)
- jdk 使用说明: openjdk
1.8.0_282
- jenkins 版本: 最新 长期支持版本
Jenkins 安装#
这里
Jenkins
的安装方式为使用yum
包管理进行安装,文档参考。
安装 jdk#
yum install -y java-1.8.0-openjdk
[root@jira ~]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
配置 Jenkins yum 源#
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Yum 安装#
yum install jenkins -y
systemctl start jenkins \
&& systemctl enable jenkins # 设置服务开机自启
安装完成后更具引导进行初始即可,选填为 安装推荐的插件
。
Jenkins 可选优化配置#
修改端口号#
Jenkins 服务默认监听在机器上的
8080
端口上如机器中出现端口号冲突,此时我们就需要相应的修改一下对应的端口号了。
首先找到对应的配置文件
sed -i "s#8080#18080#g" /etc/sysconfig/jenkins # 执行将端口替换为 18080端口
service jenkins restart # 重启服务
配置代理使用域名
形式访问#
安装 nginx
yum install -y nginx
nginx 添加虚拟主机
vi /etc/nginx/nginx.conf # 添加下面配置
http {
...
server {
listen 80;
server_name jenkins.treesir.pub;
charset utf-8;
location / {
proxy_pass http://127.0.0.1:18080;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
启动 nginx 并设置 开机自启
systemctl start nginx \
&& systemctl enable nginx
测试访问
如果没有域名,可在 hosts 文件中添加记录
此时应该页面会提示,反向代理
错误提示,解决方法如下:
manage jenkins => configure system => 修改
Jenkins URL
为此时 nginx 代理的地址,即演示中的http://jenkins.treesir.pub
=> 保存后错误提示就会 消失。
修改插件更新站点为国内镜像站点#
进入Jenkisn工作目录, 一般为
/var/lib/jenkins
或/var/jenkins_home
, 使用 Yum 安装时工作目录为/var/lib/jenkins
# 进入Jenkisn工作目录, 一般为 /var/lib/jenkins 或 /var/jenkins_home
jenkins_home=/var/lib/jenkins
sed -i.bak 's#https://updates.jenkins.io#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates#g' "${jenkins_home}"/hudson.model.UpdateCenter.xml
sed -i.bak 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' "${jenkins_home}"/updates/default.json
sed -i.bak 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' "${jenkins_home}"/updates/default.json
Jenkins => 插件管理 => 高级 => 升级站点 url 替换为清华源: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
使用
容器化部署
时,添加下面的环境变量即可JENKINS_UC=https://mirrors.tuna.tsinghua.edu.cn JENKINS_UC_DOWNLOAD=https://mirrors.tuna.tsinghua.edu.cn/jenkins JENKINS_OPTS="-Djava.awt.headless=true -Duser.timezone=Asia/Shanghai -Dhudson.model.UpdateCenter.updateCenterUrl=https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json"
更新 Jenkins 的版本#
右击,选择复制链接即获取到:https://updates.jenkins.io/download/war/2.281/jenkins.war
cd /usr/lib/jenkins/
\mv jenkins.war{,.bak} # 执行备份,如更新后版本存在问题时,可以进行回滚。
wget https://updates.jenkins.io/download/war/2.281/jenkins.war # 粘贴刚才复制到的链接, 如果速度很慢的话可以修改为 国内的阿里云地址
# wget https://mirrors.aliyun.com/jenkins/war/2.281/jenkins.war
service jenkins restart # war 包下载完成后,执行一下重启。
常用的插件整理#
下面的插件列表为我自己在
生产实践
中,使用到的一些插件整理,不一定适用于你们的环境
,请更具情况选择。。
插件名称 | 插件说明 |
---|---|
Kubernetes plugin | kubernetes 容器云插件,可以使用动态 agent 功能 |
LDAP Plugin | 使用与 ldap 服务,进行认证的插件 |
Green Balls | Pipeline 构建成功状态默认为灰蓝色,使用此插件后可将插件替换为绿色 |
Rebuilder | 流水线重构插件,同时会使用 上一次的构建参数 |
Gitlab Authentication | 与 Gitlab 认证进行集成,使用Gitlab中的用户进行登录 |
SonarQube Scanner | 与 Sonarqube 代码质检集成插件 |
Build Monitor View | 构建状态视图 |
Blue Ocean | 重构版的主题插件 |
Periodic Backup | 版本备份插件 |
Generic Webhook Trigger Plugin | 通用 webhook 触发器 (功能强大) |
Simple Theme Plugin | 主题添加自定义的 css & js |
DingTalk | 消息通知与钉钉机器人集成插件 |
HTTP Request Plugin | http 请求插件,与其他应用的 api 集成时 常用 |
Locale plugin | 控制 Jenkins 的地区语言 |
Localization: Chinese (Simplified) | 简体中文语言包 |
Pipeline Utility Steps | Jenkins 扩展工具 |
Role-based Authorization Strategy | 基于角色的权限管理 |
AnsiColor | 字体输出带颜色 |
build user vars plugin | 获取此次触发构建的用户及邮件地址信息 |
Git Parameter | Git 自选 分支 & tag 参数化构建插件 |
Timestamper | 使步骤输出 带有时间戳 |
进阶配置#
关联 openLdap#
此操作需安装 LDAP Plugin
插件 及事先准备好 openLdap
,ldap 结构及管理步骤如下所示:
Manage Jenkins => Configure Global Security => LDAP
Server: ldap://192.168.8.112:54453
root DN: dc=ldap,dc=devops
User search filter: uid={0}
Search for LDAP groups containing user (选择) : ou=users,dc=ldap,dc=devops
Manager DN: cn=admin,dc=ldap,dc=devops
Manager Password: pass
Display Name LDAP attribute: displayname
Email Address LDAP attribute: mail
注销后使用 LDAP 用户测试登录#
基于角色的权限管理#
此操作需安装 Role-based Authorization Strategy
插件
步骤一
Manage Jenkins => Configure Global Security => Authorization => Role-Based Strategy
如开启参数后提示警告,选择忽略即可。
步骤二
权限管理
创建只读用户
Manage Jenkins => Manage and Assign Roles => Manage Roles => Role to add
添加后保存
优化默认主题#
此处优化主题实现方式为使用
jenkins-material-theme
为默认的主题添加css 样式文件
。
安装 Simple Theme Plugin
插件后, 并在jenkins-material-theme
控制台中生成了自定义的 css
Manage Jenkins => Configure System => Theme elements add => Extra CSS => 粘贴生成的 css