文章目录

  • 一、Jenkins 概述
  • 1. Jenkins 介绍
  • 2. Jenkins 环境部署
  • 3. 安装 JDK 及配置环境变量
  • 二、Gitlab 仓库概述
  • 1. Gitlab 简介
  • 2. Gitlab安装
  • 3. Gitlab 添加组、创建用户、创建项目
  • 三、源码上传到 Gitlab 仓库
  • 1. 安装开发工具 IDEA
  • 2. 使用补丁包进行激活
  • 3. 构建web项目
  • 四、安装 tomcat 服务器
  • 1. 安装软件包
  • 2. 配置 IDEA 识别 tomcat
  • 3. 开启版本控制
  • 4. 安装 git
  • 5. 先Add到缓存区
  • 6. 推送到Gitlab项目仓库中
  • 五、Jenkins 安装与使用
  • 1. 安装 jdk
  • 2. 获取 jenkins 安装包
  • 3. 解锁 Jenkins
  • 4. Jenkins密码遗忘处理
  • 5. Jenkins 插件管理
  • 6. 下载中文汉化插件
  • 7. 用户权限管理
  • 8. 凭证管理
  • 8.1 用户密码类型
  • 8.2 SSH密钥类型



一、Jenkins 概述

devops构建除Jenkins还有什么 devops jenkins_git

1. Jenkins 介绍

  • Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。
    官网地址
  • Jenkins的特征
    ① 开源的 Java 语言开发持续集成工具,支持持续集成,持续部署;
    ② 易于安装部署配置:可通过yum安装或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
    ③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
    ④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
    ⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
    丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

2. Jenkins 环境部署

devops构建除Jenkins还有什么 devops jenkins_Jenkins_02

  • 首先,开发人员每天进行代码提交,提交到Git仓库
  • 然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK, Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
  • 最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。

服务器列表

名称

IP地址

安装的软件

代码托管服务器

192.168.8.20

Gitlab-12.4.2

持续集成服务器

192.168.8.19

Jenkins-2.190.3,JDK1.8,Maven3.6.2,Git, SonarQube

应用测试服务器

192.168.8.18

JDK1.8,Tomcat8.5

3. 安装 JDK 及配置环境变量

百度网盘提取码:vcg1

devops构建除Jenkins还有什么 devops jenkins_git_03

devops构建除Jenkins还有什么 devops jenkins_devops_04

devops构建除Jenkins还有什么 devops jenkins_运维_05

devops构建除Jenkins还有什么 devops jenkins_Jenkins_06

等待安装

devops构建除Jenkins还有什么 devops jenkins_git_07


安装成功

devops构建除Jenkins还有什么 devops jenkins_git_08

配置环境变量

devops构建除Jenkins还有什么 devops jenkins_运维_09


devops构建除Jenkins还有什么 devops jenkins_devops_10


devops构建除Jenkins还有什么 devops jenkins_jenkins_11


devops构建除Jenkins还有什么 devops jenkins_Jenkins_12


找到JDK的路径

devops构建除Jenkins还有什么 devops jenkins_jenkins_13

C:\Program Files\Java\jdk1.8.0_152\bin

devops构建除Jenkins还有什么 devops jenkins_jenkins_14

devops构建除Jenkins还有什么 devops jenkins_运维_15


二、Gitlab 仓库概述

1. Gitlab 简介

devops构建除Jenkins还有什么 devops jenkins_devops_16

官网

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

GitLab 和 GitHub 一样属于第三方基于 Git 开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加 SSHKey 等等。不同的是,GitLab 是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把 GitLab 看作个人版的 GitHub。

2. Gitlab安装

  • 更改三台服务器的主机名
hostnamectl set-hostname gitlab && su
hostnamectl set-hostname jenkins && su
hostnamectl set-hostname tomcat && su

devops构建除Jenkins还有什么 devops jenkins_git_17

devops构建除Jenkins还有什么 devops jenkins_devops_18

devops构建除Jenkins还有什么 devops jenkins_Jenkins_19

  • 安装相关依赖
[root@gitlab ~]#yum install -y policycoreutils openssh-server openssh-clients.x86_64 postfix
  • 启动ssh服务并且设置开机启动
[root@gitlab ~]#systemctl start sshd && systemctl enable sshd

devops构建除Jenkins还有什么 devops jenkins_devops_20

  • 设置postfix开机自启,并启动(postfix支持gitlab发信功能)
[root@gitlab ~]#systemctl start postfix && systemctl enable postfix

devops构建除Jenkins还有什么 devops jenkins_运维_21

  • 开放 ssh 以及 http 服务,然后重新加载防火墙列表 (如果关闭了防火墙则不需要做以上配置)
firewall-cmd --add-service=ssh --permanent 
firewall-cmd --add-service=http --permanent 
firewall-cmd --reload
在线下载安装包:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm

安装:
rpm -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm

devops构建除Jenkins还有什么 devops jenkins_Jenkins_22

  • 修改 gitlab 配置

修改 gitlab 访问地址和端口,默认为80,我们改为82 external_url 'http://192.168.8.20:82'

[root@gitlab ~]#vim /etc/gitlab/gitlab.rb

 23 external_url 'http://192.168.8.20:82'			#访问地址设为本机IP地址
 1112 nginx['listen_port'] = 82						#监听端口改为82,前面的注释需要取消掉
  • 重新载入配置并且启动gitlab
[root@gitlab ~]#gitlab-ctl reconfigure

devops构建除Jenkins还有什么 devops jenkins_Jenkins_23

  • 重启
[root@gitlab ~]#gitlab-ctl restart

devops构建除Jenkins还有什么 devops jenkins_运维_24

  • 把端口添加到防火墙
firewall-cmd --zone=public --add-port=82/tcp --permanent 
firewall-cmd --reload

devops构建除Jenkins还有什么 devops jenkins_git_25

  • 启动成功后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可

devops构建除Jenkins还有什么 devops jenkins_Jenkins_26

3. Gitlab 添加组、创建用户、创建项目

  • 创建组
    使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理

devops构建除Jenkins还有什么 devops jenkins_Jenkins_27


devops构建除Jenkins还有什么 devops jenkins_git_28


devops构建除Jenkins还有什么 devops jenkins_Jenkins_29

  • 创建用户
    创建用户的时候,可以选择Regular或Admin类型

devops构建除Jenkins还有什么 devops jenkins_jenkins_30

devops构建除Jenkins还有什么 devops jenkins_运维_31

  • 创建完用户后,立即修改密码

devops构建除Jenkins还有什么 devops jenkins_运维_32

  • 将用户添加到组中

devops构建除Jenkins还有什么 devops jenkins_jenkins_33

devops构建除Jenkins还有什么 devops jenkins_运维_34

devops构建除Jenkins还有什么 devops jenkins_git_35

devops构建除Jenkins还有什么 devops jenkins_jenkins_36

Gitlab用户在组里面有5种不同权限:
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM 可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

devops构建除Jenkins还有什么 devops jenkins_git_37

  • 在用户组中创建项目
    以刚才创建的新用户身份登录到Gitlab,然后在用户组中创建新的项目

devops构建除Jenkins还有什么 devops jenkins_devops_38

devops构建除Jenkins还有什么 devops jenkins_git_39

devops构建除Jenkins还有什么 devops jenkins_devops_40

三、源码上传到 Gitlab 仓库

我们要把源码上传到Gitlab的项目仓库中,在idea中Maven构建web项目,且进行环境设置

1. 安装开发工具 IDEA

官网地址:http://www.jetbrains.com/idea/download

安装包自提: a3zs

devops构建除Jenkins还有什么 devops jenkins_运维_41

devops构建除Jenkins还有什么 devops jenkins_git_42

devops构建除Jenkins还有什么 devops jenkins_devops_43

devops构建除Jenkins还有什么 devops jenkins_devops_44

devops构建除Jenkins还有什么 devops jenkins_git_45

devops构建除Jenkins还有什么 devops jenkins_devops_46

2. 使用补丁包进行激活

devops构建除Jenkins还有什么 devops jenkins_devops_47


devops构建除Jenkins还有什么 devops jenkins_devops_48

这个路径是你的安装路径位置

-javaagent:D:\IntelliJ IDEA 2019.3.1\bin\jetbrains-agent.jar

devops构建除Jenkins还有什么 devops jenkins_jenkins_49

devops构建除Jenkins还有什么 devops jenkins_devops_50

devops构建除Jenkins还有什么 devops jenkins_运维_51

3. 构建web项目

devops构建除Jenkins还有什么 devops jenkins_git_52

devops构建除Jenkins还有什么 devops jenkins_运维_53


devops构建除Jenkins还有什么 devops jenkins_devops_54

devops构建除Jenkins还有什么 devops jenkins_运维_55

devops构建除Jenkins还有什么 devops jenkins_运维_56

devops构建除Jenkins还有什么 devops jenkins_jenkins_57

devops构建除Jenkins还有什么 devops jenkins_git_58


devops构建除Jenkins还有什么 devops jenkins_git_59

devops构建除Jenkins还有什么 devops jenkins_jenkins_60

devops构建除Jenkins还有什么 devops jenkins_运维_61

devops构建除Jenkins还有什么 devops jenkins_Jenkins_62

默认设置直接apply—>ok

devops构建除Jenkins还有什么 devops jenkins_devops_63

四、安装 tomcat 服务器

1. 安装软件包

软件包:i0uq

devops构建除Jenkins还有什么 devops jenkins_运维_64

devops构建除Jenkins还有什么 devops jenkins_git_65

devops构建除Jenkins还有什么 devops jenkins_git_66

devops构建除Jenkins还有什么 devops jenkins_jenkins_67

devops构建除Jenkins还有什么 devops jenkins_运维_68

devops构建除Jenkins还有什么 devops jenkins_Jenkins_69

devops构建除Jenkins还有什么 devops jenkins_运维_70

devops构建除Jenkins还有什么 devops jenkins_git_71

2. 配置 IDEA 识别 tomcat

devops构建除Jenkins还有什么 devops jenkins_jenkins_72


devops构建除Jenkins还有什么 devops jenkins_运维_73


devops构建除Jenkins还有什么 devops jenkins_devops_74

devops构建除Jenkins还有什么 devops jenkins_devops_75


devops构建除Jenkins还有什么 devops jenkins_devops_76

devops构建除Jenkins还有什么 devops jenkins_git_77

devops构建除Jenkins还有什么 devops jenkins_jenkins_78

运行Tomcat,但是会失败

devops构建除Jenkins还有什么 devops jenkins_git_79

devops构建除Jenkins还有什么 devops jenkins_jenkins_80


devops构建除Jenkins还有什么 devops jenkins_Jenkins_81

解决方法如下

去tomcat的server.xml看一下(文件路径:C:\Program Files\Apache Software Foundation\Tomcat 8.5\conf),一般安装默认有个端口是-1,端口不能是-1,(数值在1-65535之间的任意一个整数,一般会选大于1024的,小于1024的一般被本地计算机程序占),改成8000就行。

devops构建除Jenkins还有什么 devops jenkins_jenkins_82


devops构建除Jenkins还有什么 devops jenkins_运维_83

devops构建除Jenkins还有什么 devops jenkins_jenkins_84

devops构建除Jenkins还有什么 devops jenkins_devops_85

我们建立了一个非常简单的web应用,只有一个index.jsp页面,如果部署好,可以访问该页面就成功了!

3. 开启版本控制

devops构建除Jenkins还有什么 devops jenkins_运维_86

devops构建除Jenkins还有什么 devops jenkins_git_87


提示需要进行下载

devops构建除Jenkins还有什么 devops jenkins_devops_88

4. 安装 git

git 软件包下载: 3hid

devops构建除Jenkins还有什么 devops jenkins_Jenkins_89

devops构建除Jenkins还有什么 devops jenkins_Jenkins_90

devops构建除Jenkins还有什么 devops jenkins_运维_91


devops构建除Jenkins还有什么 devops jenkins_Jenkins_92

devops构建除Jenkins还有什么 devops jenkins_Jenkins_93


devops构建除Jenkins还有什么 devops jenkins_运维_94

devops构建除Jenkins还有什么 devops jenkins_运维_95


devops构建除Jenkins还有什么 devops jenkins_devops_96


devops构建除Jenkins还有什么 devops jenkins_devops_97

devops构建除Jenkins还有什么 devops jenkins_devops_98


devops构建除Jenkins还有什么 devops jenkins_Jenkins_99


devops构建除Jenkins还有什么 devops jenkins_运维_100

devops构建除Jenkins还有什么 devops jenkins_Jenkins_101


devops构建除Jenkins还有什么 devops jenkins_Jenkins_102

devops构建除Jenkins还有什么 devops jenkins_git_103


devops构建除Jenkins还有什么 devops jenkins_jenkins_104

退出重新打开一下

devops构建除Jenkins还有什么 devops jenkins_Jenkins_105

devops构建除Jenkins还有什么 devops jenkins_运维_106


devops构建除Jenkins还有什么 devops jenkins_Jenkins_107

devops构建除Jenkins还有什么 devops jenkins_git_108

devops构建除Jenkins还有什么 devops jenkins_jenkins_109

5. 先Add到缓存区

devops构建除Jenkins还有什么 devops jenkins_运维_110

devops构建除Jenkins还有什么 devops jenkins_git_111


devops构建除Jenkins还有什么 devops jenkins_jenkins_112

devops构建除Jenkins还有什么 devops jenkins_git_113

devops构建除Jenkins还有什么 devops jenkins_Jenkins_114

devops构建除Jenkins还有什么 devops jenkins_运维_115

devops构建除Jenkins还有什么 devops jenkins_运维_116

devops构建除Jenkins还有什么 devops jenkins_jenkins_117

devops构建除Jenkins还有什么 devops jenkins_jenkins_118

devops构建除Jenkins还有什么 devops jenkins_Jenkins_119


发现代码并没有提交到gitlab上面来,只是提交到了本地

devops构建除Jenkins还有什么 devops jenkins_运维_120

6. 推送到Gitlab项目仓库中

devops构建除Jenkins还有什么 devops jenkins_运维_121

devops构建除Jenkins还有什么 devops jenkins_jenkins_122

devops构建除Jenkins还有什么 devops jenkins_git_123

devops构建除Jenkins还有什么 devops jenkins_jenkins_124

devops构建除Jenkins还有什么 devops jenkins_运维_125

devops构建除Jenkins还有什么 devops jenkins_Jenkins_126


刷新gitlab项目

devops构建除Jenkins还有什么 devops jenkins_devops_127

devops构建除Jenkins还有什么 devops jenkins_Jenkins_128

devops构建除Jenkins还有什么 devops jenkins_运维_129

devops构建除Jenkins还有什么 devops jenkins_Jenkins_130

devops构建除Jenkins还有什么 devops jenkins_运维_131

devops构建除Jenkins还有什么 devops jenkins_git_132

devops构建除Jenkins还有什么 devops jenkins_git_133

devops构建除Jenkins还有什么 devops jenkins_运维_134

devops构建除Jenkins还有什么 devops jenkins_Jenkins_135

提交成功

devops构建除Jenkins还有什么 devops jenkins_jenkins_136


devops构建除Jenkins还有什么 devops jenkins_Jenkins_137

五、Jenkins 安装与使用

1. 安装 jdk

  • Jenkins需要依赖JDK,所以先安装JDK1.8 ,安装目录为:/usr/lib/jvm
yum install java-1.8.0-openjdk* -y

devops构建除Jenkins还有什么 devops jenkins_devops_138

2. 获取 jenkins 安装包

提取码:hf7t

下载页面:https://jenkins.io/zh/download/ 
安装文件:jenkins-2.277.4-1.1.noarch.rpm
  • 把安装包上传到 192.168.8.19 服务器,进行安装
rpm -ivh jenkins-2.277.4-1.1.noarch.rpm
  • 修改Jenkins配置
vim /etc/sysconfig/jenkins
修改内容如下:注意:如果用户使用默认,则需要在系统上创建jenkins用户
JENKINS_USER="root" JENKINS_PORT="8888"

devops构建除Jenkins还有什么 devops jenkins_Jenkins_139

  • 启动Jenkins
systemctl start jenkins

devops构建除Jenkins还有什么 devops jenkins_git_140

  • 打开浏览器访问 http://192.168.8.19:8888

3. 解锁 Jenkins

注意:本服务器把防火墙关闭了,如果开启防火墙,需要在防火墙添加端口

devops构建除Jenkins还有什么 devops jenkins_运维_141

  • 获取并输入admin账户密码
[root@jenkins ~]#cat /var/lib/jenkins/secrets/initialAdminPassword

devops构建除Jenkins还有什么 devops jenkins_Jenkins_142

  • 跳过插件安装,因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经过会失败,所以我们暂时先跳过插件安装

devops构建除Jenkins还有什么 devops jenkins_devops_143

devops构建除Jenkins还有什么 devops jenkins_git_144

  • 添加一个管理员账户,并进入Jenkins后台

devops构建除Jenkins还有什么 devops jenkins_git_145

devops构建除Jenkins还有什么 devops jenkins_运维_146

4. Jenkins密码遗忘处理

修改配置文件安全功能禁用

vim /var/lib/jenkins/config.xml
<useSecurity>false</useSecurity>   
//重启jenkins服务
systemctl restart jenkins
可以直接登录修改账号密码

修改jenkins中已有的用户名和ID
vim /var/lib/jenkins/users/users.xml

5. Jenkins 插件管理

Jenkins 本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。

  • 修改 Jenkins 插件下载地址 ,Jenkins 国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:
    Jenkins->Manage Jenkins->Manage Plugins,点击Available
  • devops构建除Jenkins还有什么 devops jenkins_jenkins_147


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

devops构建除Jenkins还有什么 devops jenkins_jenkins_148

  • Sumbit后,在浏览器输入: http://192.168.8.19:8888/restart ,重启Jenkins。

6. 下载中文汉化插件

Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"

devops构建除Jenkins还有什么 devops jenkins_devops_149

完成后如下所示

devops构建除Jenkins还有什么 devops jenkins_jenkins_150

重启Jenkins后,就看到Jenkins汉化了,但可能部分菜单汉化不成功

devops构建除Jenkins还有什么 devops jenkins_devops_151


版本升级(Jenkins 下载的是var 包)

devops构建除Jenkins还有什么 devops jenkins_jenkins_152

devops构建除Jenkins还有什么 devops jenkins_运维_153

devops构建除Jenkins还有什么 devops jenkins_运维_154

devops构建除Jenkins还有什么 devops jenkins_jenkins_155


devops构建除Jenkins还有什么 devops jenkins_git_156


这里建议升级到2.333版本

devops构建除Jenkins还有什么 devops jenkins_jenkins_157

升级完成

devops构建除Jenkins还有什么 devops jenkins_Jenkins_158

7. 用户权限管理

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

devops构建除Jenkins还有什么 devops jenkins_jenkins_159

  • 开启权限全局安全配置

devops构建除Jenkins还有什么 devops jenkins_运维_160


devops构建除Jenkins还有什么 devops jenkins_Jenkins_161

  • 创建角色

devops构建除Jenkins还有什么 devops jenkins_git_162

devops构建除Jenkins还有什么 devops jenkins_devops_163

devops构建除Jenkins还有什么 devops jenkins_运维_164


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

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

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

  • 我们添加以下三个角色:
    baseRole:该角色为全局角色。这个角色需要绑定 Overall 下面的 Read 权限,是为了给所有用户绑 定最基本的 Jenkins 访问权限。
    注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permissionrole1:该角色为项目角色。使用正则表达式绑定apple.*,意思是只能操作apple开头的项目
    role2:该角色也为项目角色。绑定orange.*,意思是只能操作 orange 开头的项目

devops构建除Jenkins还有什么 devops jenkins_jenkins_165

  • 创建用户,在系统管理页面进入 Manage Users

devops构建除Jenkins还有什么 devops jenkins_git_166


分别创建两个用户:jack和kali

devops构建除Jenkins还有什么 devops jenkins_运维_167


devops构建除Jenkins还有什么 devops jenkins_运维_168

  • 给用户分配角色
    系统管理页面进入Manage and Assign Roles,点击Assign Roles
    绑定规则如下:
    kali用户分别绑定baseRole和role1角色
    jack用户分别绑定baseRole和role2角色

devops构建除Jenkins还有什么 devops jenkins_devops_169

devops构建除Jenkins还有什么 devops jenkins_Jenkins_170

devops构建除Jenkins还有什么 devops jenkins_Jenkins_171

  • 创建项目测试权限
    以 jerry 管理员账户创建两个项目,分别为apple01orange01

devops构建除Jenkins还有什么 devops jenkins_Jenkins_172


devops构建除Jenkins还有什么 devops jenkins_git_173


devops构建除Jenkins还有什么 devops jenkins_运维_174

结果为:
kali用户登录,只能看到 apple01 项目
jack用户登录,只能看到 orange01 项目

devops构建除Jenkins还有什么 devops jenkins_运维_175


devops构建除Jenkins还有什么 devops jenkins_Jenkins_176

8. 凭证管理

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

  • 安装 Credentials Binding 插件

devops构建除Jenkins还有什么 devops jenkins_devops_177

安装插件后,会多出来 “凭证” 菜单,在这里可以管理所有凭证

devops构建除Jenkins还有什么 devops jenkins_Jenkins_178


devops构建除Jenkins还有什么 devops jenkins_git_179


可以添加的凭证有以下的5种:

Username with password:用户名和密码
SSH Username with private key: 使用SSH用户和密钥
Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
Certificate:通过上传证书文件的方式
常用的凭证类型有:
Username with password(用户密码)和 SSH Username with private key(SSH
密钥)

  • 以使用 Git 工具到 Gitlab 拉取项目源码为例,演示 Jenkins 的如何管理 Gitlab 的凭证

Git插件安装

devops构建除Jenkins还有什么 devops jenkins_jenkins_180


Jenkins服务器安装 Git工具

[root@jenkins ~]#yum install git -y  
[root@jenkins ~]#git --version 
git version 1.8.3.1

8.1 用户密码类型

添加凭证

devops构建除Jenkins还有什么 devops jenkins_Jenkins_181


选择"Username with password",输入Gitlab的用户名和密码,点击"确定"

devops构建除Jenkins还有什么 devops jenkins_jenkins_182


devops构建除Jenkins还有什么 devops jenkins_Jenkins_183

  • 测试凭证是否可用

创建一个 FreeStyle 项目

devops构建除Jenkins还有什么 devops jenkins_运维_184


devops构建除Jenkins还有什么 devops jenkins_git_185

devops构建除Jenkins还有什么 devops jenkins_jenkins_186

找到 “源码管理”-> “Git”,在Repository URL 复制 Gitlab 中的项目 URL

devops构建除Jenkins还有什么 devops jenkins_devops_187

devops构建除Jenkins还有什么 devops jenkins_运维_188

devops构建除Jenkins还有什么 devops jenkins_运维_189

保存配置后,点击构建”Build Now“ 开始构建项目

devops构建除Jenkins还有什么 devops jenkins_Jenkins_190

devops构建除Jenkins还有什么 devops jenkins_devops_191

查看 /var/lib/jenkins/workspace/ 目录,发现已经从 Gitlab 成功拉取了代码到 Jenkins 中

[root@jenkins ~]#cd /var/lib/jenkins/workspace/
[root@jenkins /var/lib/jenkins/workspace]#ls
test01  test01@tmp  test02  test02@tmp

devops构建除Jenkins还有什么 devops jenkins_devops_192

8.2 SSH密钥类型

devops构建除Jenkins还有什么 devops jenkins_Jenkins_193

  • 使用 root 用户生成公钥和私钥,在 /root/.ssh/目录保存了公钥和私钥
[root@jenkins ~]#ssh-keygen -t rsa

devops构建除Jenkins还有什么 devops jenkins_jenkins_194


devops构建除Jenkins还有什么 devops jenkins_git_195

  • 把生成的公钥放在 Gitlab 中
    以 root 账户登录 gitlab ->点击头像-> Settings -> SSH Keys 复制刚才 id_rsa.pub 文件的内容到这里,点击 “Add Key”

devops构建除Jenkins还有什么 devops jenkins_Jenkins_196

devops构建除Jenkins还有什么 devops jenkins_jenkins_197

devops构建除Jenkins还有什么 devops jenkins_运维_198

  • 在 Jenkins 中添加凭证,配置私钥
    在 Jenkins 添加一个新的凭证,类型为 “SSH Username with private key”,把刚才生成私有文件内容复制过来

devops构建除Jenkins还有什么 devops jenkins_git_199

devops构建除Jenkins还有什么 devops jenkins_运维_200

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

devops构建除Jenkins还有什么 devops jenkins_jenkins_201

devops构建除Jenkins还有什么 devops jenkins_jenkins_202

devops构建除Jenkins还有什么 devops jenkins_Jenkins_203


devops构建除Jenkins还有什么 devops jenkins_Jenkins_204


devops构建除Jenkins还有什么 devops jenkins_运维_205

使用密钥对的形式构成成功