一、Jenkins插件管理
在安装好Jenkins之后,根据需求需要下载各种的插件,但是国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:
cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins�ci.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
最后Manage Plugins点击Advanced,把Update Site改为国内插件下载地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Sumbit后,在浏览器输入: http://192.168.66.101:8888/restart ,重启Jenkins。也可以在服务器重启服务。
常用插件:
1.Email Extension Plugin
2.Localization: Chinese (Simplified)
3.Role-based Authorization Strategy
4.Publish Over SSH
5.Pipeline
6.GitLab Plugin
7.Branch API Plugin
8.Credentials Plugin
9.Deploy to container Plugin
10.Git plugin
11.Publish Over SSH
12.Webhook Step Plugin
二、Jenkins用户权限管理
向系统中添加新用户
image.png
使用的插件:Role-based Authorization Strategy
安装好插件之后,需要在系统的安全设置选择该插件:
image.png选好之后,就可以在系统配置中看到该插件,使用插件进行角色管理
角色就是一组权限的集合
Manage and Assign Roles界面、功能介绍
image.png image.png
Jenkins凭证管理
凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便
Jenkins可以和这些第三方的应用进行交互。
Jenkins想要与Gitlab、Harbor、Kubernetes等通信时,需要有相关的凭据。
相关的插件:Credentials Binding
如何新建一个凭证
image.pngUsername with password:用户名和密码
SSH Username with private key: 使用SSH用户和密钥
Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径
设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
Certificate:通过上传证书文件的方式
image.png
凭证的使用——从Gitlab上拉取代码
为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。
Jenkins服务器要先安装好Git工具:
yum -y install git
git --version
image.png
关于具体操作已经在05搭建Git+Gitlab+Jenkins自动部署平台章节道出
三、项目搭建
根据不同的项目创建不同风格的Jenkins项目,这里介绍自由风格项目构建流程
注意项目命名规范,一般测试服务器添加
_dev
后缀,正式服务器添加_prod
后缀
00.常规
General选项填写注意:
Description:项目描述
Discard old builds:旧的构建保留设置
This project is parameterized:参数化构建,在构建项目之前选择一些参数
image.png
image.png
image.png
这几个是常用的构建参数
01.源代码管理
填写gitlab代码仓库地址,一般使用SSH地址,如果无法连接,试着添加凭证
image.png
02.构建触发器
image.png03.构建环境
image.png04.构建步骤
image.png03.构建后的操作
image.png四、邮件配置
image.pngimage.png
image.png
image.png
邮箱发送测试
image.png
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
项目描述:${JOB_DESCRIPTION}<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
网友评论