Devops 开发运维基础篇之Jenkins部署与使用

文章目录

  • 一、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部署与使用_第1张图片

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部署与使用_第2张图片

  • 首先,开发人员每天进行代码提交,提交到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部署与使用_第3张图片

Devops 开发运维基础篇之Jenkins部署与使用_第4张图片

Devops 开发运维基础篇之Jenkins部署与使用_第5张图片

在这里插入图片描述

等待安装
Devops 开发运维基础篇之Jenkins部署与使用_第6张图片
安装成功
Devops 开发运维基础篇之Jenkins部署与使用_第7张图片

配置环境变量

Devops 开发运维基础篇之Jenkins部署与使用_第8张图片
Devops 开发运维基础篇之Jenkins部署与使用_第9张图片
Devops 开发运维基础篇之Jenkins部署与使用_第10张图片
Devops 开发运维基础篇之Jenkins部署与使用_第11张图片
找到JDK的路径
Devops 开发运维基础篇之Jenkins部署与使用_第12张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第13张图片

Devops 开发运维基础篇之Jenkins部署与使用_第14张图片


二、Gitlab 仓库概述

1. Gitlab 简介

Devops 开发运维基础篇之Jenkins部署与使用_第15张图片

官网

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部署与使用_第16张图片Devops 开发运维基础篇之Jenkins部署与使用_第17张图片Devops 开发运维基础篇之Jenkins部署与使用_第18张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第19张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第20张图片

  • 开放 ssh 以及 http 服务,然后重新加载防火墙列表 (如果关闭了防火墙则不需要做以上配置)
firewall-cmd --add-service=ssh --permanent 
firewall-cmd --add-service=http --permanent 
firewall-cmd --reload
  • 下载 gitlab 包,并安装
    百度网盘提取码:9x0z
在线下载安装包:
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部署与使用_第21张图片

  • 修改 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部署与使用_第22张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第23张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第24张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第25张图片

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

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

Devops 开发运维基础篇之Jenkins部署与使用_第26张图片
Devops 开发运维基础篇之Jenkins部署与使用_第27张图片
Devops 开发运维基础篇之Jenkins部署与使用_第28张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第29张图片

Devops 开发运维基础篇之Jenkins部署与使用_第30张图片

  • 创建完用户后,立即修改密码
    Devops 开发运维基础篇之Jenkins部署与使用_第31张图片

Devops 开发运维基础篇之Jenkins部署与使用_第32张图片

  • 将用户添加到组中

Devops 开发运维基础篇之Jenkins部署与使用_第33张图片

Devops 开发运维基础篇之Jenkins部署与使用_第34张图片

Devops 开发运维基础篇之Jenkins部署与使用_第35张图片

Devops 开发运维基础篇之Jenkins部署与使用_第36张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第37张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第38张图片

Devops 开发运维基础篇之Jenkins部署与使用_第39张图片

Devops 开发运维基础篇之Jenkins部署与使用_第40张图片

三、源码上传到 Gitlab 仓库

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

1. 安装开发工具 IDEA

官网地址:http://www.jetbrains.com/idea/download
安装包自提: a3zsDevops 开发运维基础篇之Jenkins部署与使用_第41张图片

Devops 开发运维基础篇之Jenkins部署与使用_第42张图片

Devops 开发运维基础篇之Jenkins部署与使用_第43张图片

Devops 开发运维基础篇之Jenkins部署与使用_第44张图片

Devops 开发运维基础篇之Jenkins部署与使用_第45张图片

Devops 开发运维基础篇之Jenkins部署与使用_第46张图片

2. 使用补丁包进行激活

Devops 开发运维基础篇之Jenkins部署与使用_第47张图片
Devops 开发运维基础篇之Jenkins部署与使用_第48张图片

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

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

Devops 开发运维基础篇之Jenkins部署与使用_第49张图片

Devops 开发运维基础篇之Jenkins部署与使用_第50张图片

Devops 开发运维基础篇之Jenkins部署与使用_第51张图片

3. 构建web项目

Devops 开发运维基础篇之Jenkins部署与使用_第52张图片

Devops 开发运维基础篇之Jenkins部署与使用_第53张图片
Devops 开发运维基础篇之Jenkins部署与使用_第54张图片

Devops 开发运维基础篇之Jenkins部署与使用_第55张图片

Devops 开发运维基础篇之Jenkins部署与使用_第56张图片

Devops 开发运维基础篇之Jenkins部署与使用_第57张图片

Devops 开发运维基础篇之Jenkins部署与使用_第58张图片
Devops 开发运维基础篇之Jenkins部署与使用_第59张图片

Devops 开发运维基础篇之Jenkins部署与使用_第60张图片

Devops 开发运维基础篇之Jenkins部署与使用_第61张图片

Devops 开发运维基础篇之Jenkins部署与使用_第62张图片

默认设置直接apply—>ok

Devops 开发运维基础篇之Jenkins部署与使用_第63张图片

四、安装 tomcat 服务器

1. 安装软件包

软件包:i0uq

在这里插入图片描述

Devops 开发运维基础篇之Jenkins部署与使用_第64张图片

Devops 开发运维基础篇之Jenkins部署与使用_第65张图片

在这里插入图片描述

Devops 开发运维基础篇之Jenkins部署与使用_第66张图片

Devops 开发运维基础篇之Jenkins部署与使用_第67张图片

Devops 开发运维基础篇之Jenkins部署与使用_第68张图片

Devops 开发运维基础篇之Jenkins部署与使用_第69张图片

2. 配置 IDEA 识别 tomcat

Devops 开发运维基础篇之Jenkins部署与使用_第70张图片
Devops 开发运维基础篇之Jenkins部署与使用_第71张图片
Devops 开发运维基础篇之Jenkins部署与使用_第72张图片

Devops 开发运维基础篇之Jenkins部署与使用_第73张图片
Devops 开发运维基础篇之Jenkins部署与使用_第74张图片

Devops 开发运维基础篇之Jenkins部署与使用_第75张图片

Devops 开发运维基础篇之Jenkins部署与使用_第76张图片

运行Tomcat,但是会失败

Devops 开发运维基础篇之Jenkins部署与使用_第77张图片

Devops 开发运维基础篇之Jenkins部署与使用_第78张图片
Devops 开发运维基础篇之Jenkins部署与使用_第79张图片

解决方法如下

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

Devops 开发运维基础篇之Jenkins部署与使用_第80张图片
Devops 开发运维基础篇之Jenkins部署与使用_第81张图片

Devops 开发运维基础篇之Jenkins部署与使用_第82张图片

在这里插入图片描述

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

3. 开启版本控制

Devops 开发运维基础篇之Jenkins部署与使用_第83张图片

Devops 开发运维基础篇之Jenkins部署与使用_第84张图片
提示需要进行下载
在这里插入图片描述

4. 安装 git

git 软件包下载: 3hid

Devops 开发运维基础篇之Jenkins部署与使用_第85张图片

Devops 开发运维基础篇之Jenkins部署与使用_第86张图片

Devops 开发运维基础篇之Jenkins部署与使用_第87张图片
在这里插入图片描述

Devops 开发运维基础篇之Jenkins部署与使用_第88张图片
Devops 开发运维基础篇之Jenkins部署与使用_第89张图片

Devops 开发运维基础篇之Jenkins部署与使用_第90张图片
Devops 开发运维基础篇之Jenkins部署与使用_第91张图片
Devops 开发运维基础篇之Jenkins部署与使用_第92张图片

在这里插入图片描述
Devops 开发运维基础篇之Jenkins部署与使用_第93张图片
在这里插入图片描述

Devops 开发运维基础篇之Jenkins部署与使用_第94张图片
在这里插入图片描述

在这里插入图片描述
Devops 开发运维基础篇之Jenkins部署与使用_第95张图片

退出重新打开一下
在这里插入图片描述

Devops 开发运维基础篇之Jenkins部署与使用_第96张图片
Devops 开发运维基础篇之Jenkins部署与使用_第97张图片

Devops 开发运维基础篇之Jenkins部署与使用_第98张图片

Devops 开发运维基础篇之Jenkins部署与使用_第99张图片

5. 先Add到缓存区

Devops 开发运维基础篇之Jenkins部署与使用_第100张图片

Devops 开发运维基础篇之Jenkins部署与使用_第101张图片
Devops 开发运维基础篇之Jenkins部署与使用_第102张图片

Devops 开发运维基础篇之Jenkins部署与使用_第103张图片

Devops 开发运维基础篇之Jenkins部署与使用_第104张图片

Devops 开发运维基础篇之Jenkins部署与使用_第105张图片

Devops 开发运维基础篇之Jenkins部署与使用_第106张图片

Devops 开发运维基础篇之Jenkins部署与使用_第107张图片

Devops 开发运维基础篇之Jenkins部署与使用_第108张图片

Devops 开发运维基础篇之Jenkins部署与使用_第109张图片
发现代码并没有提交到gitlab上面来,只是提交到了本地
Devops 开发运维基础篇之Jenkins部署与使用_第110张图片

6. 推送到Gitlab项目仓库中

Devops 开发运维基础篇之Jenkins部署与使用_第111张图片

Devops 开发运维基础篇之Jenkins部署与使用_第112张图片

Devops 开发运维基础篇之Jenkins部署与使用_第113张图片

Devops 开发运维基础篇之Jenkins部署与使用_第114张图片

Devops 开发运维基础篇之Jenkins部署与使用_第115张图片

在这里插入图片描述
刷新gitlab项目
Devops 开发运维基础篇之Jenkins部署与使用_第116张图片

Devops 开发运维基础篇之Jenkins部署与使用_第117张图片

Devops 开发运维基础篇之Jenkins部署与使用_第118张图片

Devops 开发运维基础篇之Jenkins部署与使用_第119张图片

Devops 开发运维基础篇之Jenkins部署与使用_第120张图片

Devops 开发运维基础篇之Jenkins部署与使用_第121张图片

Devops 开发运维基础篇之Jenkins部署与使用_第122张图片

Devops 开发运维基础篇之Jenkins部署与使用_第123张图片

在这里插入图片描述

提交成功
Devops 开发运维基础篇之Jenkins部署与使用_第124张图片
Devops 开发运维基础篇之Jenkins部署与使用_第125张图片

五、Jenkins 安装与使用

1. 安装 jdk

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

Devops 开发运维基础篇之Jenkins部署与使用_第126张图片

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部署与使用_第127张图片

  • 启动Jenkins
systemctl start jenkins 

Devops 开发运维基础篇之Jenkins部署与使用_第128张图片

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

3. 解锁 Jenkins

注意:本服务器把防火墙关闭了,如果开启防火墙,需要在防火墙添加端口
Devops 开发运维基础篇之Jenkins部署与使用_第129张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第130张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第131张图片

Devops 开发运维基础篇之Jenkins部署与使用_第132张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第133张图片

Devops 开发运维基础篇之Jenkins部署与使用_第134张图片

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部署与使用_第135张图片
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部署与使用_第136张图片

  • Sumbit后,在浏览器输入: http://192.168.8.19:8888/restart ,重启Jenkins。
    Devops 开发运维基础篇之Jenkins部署与使用_第137张图片

6. 下载中文汉化插件

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

Devops 开发运维基础篇之Jenkins部署与使用_第138张图片

完成后如下所示
Devops 开发运维基础篇之Jenkins部署与使用_第139张图片

重启Jenkins后,就看到Jenkins汉化了,但可能部分菜单汉化不成功
Devops 开发运维基础篇之Jenkins部署与使用_第140张图片
版本升级(Jenkins 下载的是var 包)
Devops 开发运维基础篇之Jenkins部署与使用_第141张图片

Devops 开发运维基础篇之Jenkins部署与使用_第142张图片

Devops 开发运维基础篇之Jenkins部署与使用_第143张图片

Devops 开发运维基础篇之Jenkins部署与使用_第144张图片
Devops 开发运维基础篇之Jenkins部署与使用_第145张图片
这里建议升级到2.333版本
Devops 开发运维基础篇之Jenkins部署与使用_第146张图片

升级完成
Devops 开发运维基础篇之Jenkins部署与使用_第147张图片

7. 用户权限管理

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

Devops 开发运维基础篇之Jenkins部署与使用_第148张图片

  • 开启权限全局安全配置
    Devops 开发运维基础篇之Jenkins部署与使用_第149张图片

Devops 开发运维基础篇之Jenkins部署与使用_第150张图片
Devops 开发运维基础篇之Jenkins部署与使用_第151张图片

  • 创建角色

Devops 开发运维基础篇之Jenkins部署与使用_第152张图片

Devops 开发运维基础篇之Jenkins部署与使用_第153张图片

Devops 开发运维基础篇之Jenkins部署与使用_第154张图片
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
Project roles(项目角色): 针对某个或者某些项目的角色
Slave roles(奴隶角色) :节点相关的权限

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

Devops 开发运维基础篇之Jenkins部署与使用_第155张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第156张图片
分别创建两个用户:jack和kali
Devops 开发运维基础篇之Jenkins部署与使用_第157张图片
在这里插入图片描述

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

Devops 开发运维基础篇之Jenkins部署与使用_第158张图片

Devops 开发运维基础篇之Jenkins部署与使用_第159张图片

Devops 开发运维基础篇之Jenkins部署与使用_第160张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第161张图片
Devops 开发运维基础篇之Jenkins部署与使用_第162张图片
Devops 开发运维基础篇之Jenkins部署与使用_第163张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第164张图片
Devops 开发运维基础篇之Jenkins部署与使用_第165张图片

8. 凭证管理

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

  • 安装 Credentials Binding 插件

Devops 开发运维基础篇之Jenkins部署与使用_第166张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第167张图片
Devops 开发运维基础篇之Jenkins部署与使用_第168张图片
可以添加的凭证有以下的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插件安装
在这里插入图片描述
Jenkins服务器安装 Git工具

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

8.1 用户密码类型

添加凭证

Devops 开发运维基础篇之Jenkins部署与使用_第169张图片
选择"Username with password",输入Gitlab的用户名和密码,点击"确定"
Devops 开发运维基础篇之Jenkins部署与使用_第170张图片
Devops 开发运维基础篇之Jenkins部署与使用_第171张图片

  • 测试凭证是否可用

创建一个 FreeStyle 项目
在这里插入图片描述
Devops 开发运维基础篇之Jenkins部署与使用_第172张图片

Devops 开发运维基础篇之Jenkins部署与使用_第173张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第174张图片

Devops 开发运维基础篇之Jenkins部署与使用_第175张图片

Devops 开发运维基础篇之Jenkins部署与使用_第176张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第177张图片

Devops 开发运维基础篇之Jenkins部署与使用_第178张图片

查看 /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

在这里插入图片描述

8.2 SSH密钥类型

Devops 开发运维基础篇之Jenkins部署与使用_第179张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第180张图片
Devops 开发运维基础篇之Jenkins部署与使用_第181张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第182张图片

Devops 开发运维基础篇之Jenkins部署与使用_第183张图片

Devops 开发运维基础篇之Jenkins部署与使用_第184张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第185张图片

Devops 开发运维基础篇之Jenkins部署与使用_第186张图片

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

Devops 开发运维基础篇之Jenkins部署与使用_第187张图片

Devops 开发运维基础篇之Jenkins部署与使用_第188张图片

Devops 开发运维基础篇之Jenkins部署与使用_第189张图片
Devops 开发运维基础篇之Jenkins部署与使用_第190张图片
Devops 开发运维基础篇之Jenkins部署与使用_第191张图片

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

你可能感兴趣的:(Devops,jenkins,运维,devops)