一、Jenkins持续集成服务器

1、Jenkins安装

  1. 安装JDK
yum install java-1.8.0-openjdk* -y
  1. 获取jenkins安装包
    官网下载
  2. 把安装包上传到服务器,进行安装
rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
  1. 修改Jenkins配置
vi /etc/sysconfig/jenkins
JENKINS_USER=“root” 
JENKINS_PORT=“8888”
  1. 启动Jenkins
systemctl start jenkins
  1. 打开浏览器访问
  2. Jenkins 服务权限 jenkins 添加服务器_服务器

  3. 获取并输入admin账户密码
  4. Jenkins 服务权限 jenkins 添加服务器_Jenkins_02

  5. 跳过插件安装
  6. 添加一个管理员账户,并进入Jenkins后台
  7. Jenkins 服务权限 jenkins 添加服务器_ci_03


  8. Jenkins 服务权限 jenkins 添加服务器_Jenkins 服务权限_04

  9. 开始使用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

Jenkins 服务权限 jenkins 添加服务器_ci_05

Sumbit后,重启Jenkins。

3、Jenkins用户权限管理

我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限。

安装Role-based Authorization Strategy插件:

Jenkins 服务权限 jenkins 添加服务器_Jenkins_06


Jenkins 服务权限 jenkins 添加服务器_ci_07


Jenkins 服务权限 jenkins 添加服务器_Jenkins 服务权限_08


Jenkins 服务权限 jenkins 添加服务器_服务器_09


Jenkins 服务权限 jenkins 添加服务器_服务器_10


Global roles(全局角色):管理员等高级用户可以创建基于全局的角色

Project roles(项目角色):针对某个或者某些项目的角色

Slave roles(奴隶角色):节点相关的权限

给用户分配角色:

创建两个用户账号,并对其分配角色:

Jenkins 服务权限 jenkins 添加服务器_Jenkins_11


Jenkins 服务权限 jenkins 添加服务器_服务器_12


Jenkins 服务权限 jenkins 添加服务器_Jenkins_13


Jenkins 服务权限 jenkins 添加服务器_jenkins_14


Jenkins 服务权限 jenkins 添加服务器_服务器_15

4、Jenkins凭证管理

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。

安装Credentials Binding插件

要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件

Jenkins 服务权限 jenkins 添加服务器_Jenkins_16


Jenkins 服务权限 jenkins 添加服务器_Jenkins_17


可以添加的凭证有5种:

Username with password:用户名和密码

SSH Username with private key: 使用SSH用户和密钥

Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。

Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token

Certificate:通过上传证书文件的方式

Jenkins 服务权限 jenkins 添加服务器_Jenkins 服务权限_18


安装Git插件进行拉去代码:

Jenkins 服务权限 jenkins 添加服务器_服务器_19


CentOS7上安装Git工具:

yum install git -y 安装

git --version 安装后查看版本

创建用户名和密码凭证:

Jenkins 服务权限 jenkins 添加服务器_jenkins_20


Jenkins 服务权限 jenkins 添加服务器_ci_21


Jenkins 服务权限 jenkins 添加服务器_Jenkins_22


Jenkins 服务权限 jenkins 添加服务器_服务器_23


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"

Jenkins 服务权限 jenkins 添加服务器_Jenkins 服务权限_24


3)在Jenkins中添加凭证,配置私钥

Jenkins 服务权限 jenkins 添加服务器_jenkins_25


4)测试凭证是否可用

新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证

同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!

Jenkins 服务权限 jenkins 添加服务器_服务器_26

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包。