一、Jenkins持续集成服务器
1、Jenkins安装
- 安装JDK
yum install java-1.8.0-openjdk* -y
- 获取jenkins安装包
官网下载 - 把安装包上传到服务器,进行安装
rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
- 修改Jenkins配置
vi /etc/sysconfig/jenkins
JENKINS_USER=“root”
JENKINS_PORT=“8888”
- 启动Jenkins
systemctl start jenkins
-
打开浏览器访问
-
获取并输入admin账户密码
-
跳过插件安装
-
添加一个管理员账户,并进入Jenkins后台
开始使用Jenkins 。
2、Jenkins插件管理
Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。
修改Jenkins插件下载地址
Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址: Jenkins->Manage Jenkins->Manage Plugins,点击Available
这样做是为了把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址。
//换插件下载源
cd /var/lib/jenkins/updates
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
最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Sumbit后,重启Jenkins。
3、Jenkins用户权限管理
我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限。
安装Role-based Authorization Strategy插件:
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
Project roles(项目角色):针对某个或者某些项目的角色
Slave roles(奴隶角色):节点相关的权限
给用户分配角色:
创建两个用户账号,并对其分配角色:
4、Jenkins凭证管理
凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。
安装Credentials Binding插件
要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件
可以添加的凭证有5种:
Username with password:用户名和密码
SSH Username with private key: 使用SSH用户和密钥
Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
Certificate:通过上传证书文件的方式
安装Git插件进行拉去代码:
CentOS7上安装Git工具:
yum install git -y 安装
git --version 安装后查看版本
创建用户名和密码凭证:
SSH密钥类型凭证:
1)使用root用户生成公钥和私钥 ssh-keygen -t rsa
在/root/.ssh/目录保存了公钥和私钥
id_rsa:私钥文件
id_rsa.pub:公钥文件
2)把生成的公钥放在Gitlab中
以root账户登录->点击头像->Settings->SSH Keys
复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"
3)在Jenkins中添加凭证,配置私钥
4)测试凭证是否可用
新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证
同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!
5、Maven安装和配置
在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。安装Maven,先上传Maven软件到服务器。
tar -xzf apache-maven-3.6.2-bin.tar.gz #解压
mkdir -p /opt/maven # 创建目录
mv apache-maven-3.6.2/* /opt/maven # 移动文件
#**配置环境变量**
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/opt/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
source /etc/profile #配置生效
mvn -v #查找Maven版本
Jenkins关联JDK和Maven
- 全局工具配置
- 添加Jenkins全局变量
JAVA_HOME
M2_HOME
PATH+EXTRA - 修改Maven的settings.xml
mkdir /root/repo # 创建本地仓库目录
vi /opt/maven/conf/settings.xml
# 本地仓库改为:/root/repo/
#添加阿里云私服地址:
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
- 测试Maven是否配置成功
在Jenkins里输入 mvn clean package
可以在服务器中Jenkins的工作目录下找到该项目的war包。