凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便
Jenkins可以和这些第三方的应用进行交互。
安装Credentials Binding插件
要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件
安装插件后,左边多了"凭证"菜单,在这里管理所有凭证
可以添加的凭证有5种:
接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。
安装Git插件和Git工具
为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。
root@hadoop001 ~]# yum install git -y Loaded plugins: fastestmirror Determining fastest mirrors base | 3.6 kB 00:00:00 epel | 5.4 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/3): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (2/3): epel/x86_64/primary_db | 6.9 MB 00:00:00 (3/3): updates/7/x86_64/primary_db | 5.9 MB 00:00:01 Resolving Dependencies
用户密码类型
1)创建凭证
Jenkins->凭证->系统->全局凭证->添加凭证
在topcheer01中,修改源码管理,来自git
保存配置后,点击构建”Build Now“ 开始构建项目
查看/var/lib/jenkins/workspace/目录,发现已经从Gitlab成功拉取了代码到Jenkins中。
SSH密钥类型
[root@hadoop001 topcheer01]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:krVJozi8Eo1MkhOcMIS7e7sE4gt7hh8IVJCnviGj/A8 root@hadoop001 The key's randomart image is: +---[RSA 2048]----+ |Oo+. | |.B.. | |+o+ + | |o* + . = + | |=.+ = + S | |B= . o . | |*=*E. | |===o. | |.*=+.. | +----[SHA256]-----+ [root@hadoop001 topcheer01]# cd /root/.ssh/ [root@hadoop001 .ssh]# ll total 12 -rw------- 1 root root 0 Jan 13 19:30 authorized_keys -rw------- 1 root root 1679 Jan 26 18:45 id_rsa -rw-r--r-- 1 root root 396 Jan 26 18:45 id_rsa.pub -rw-r--r-- 1 root root 556 Jan 14 23:04 known_hosts
在/root/.ssh/目录保存了公钥和使用
id_rsa:私钥文件
id_rsa.pub:公钥文件
2)把生成的公钥放在Gitlab中
以root账户登录->点击头像->Settings->SSH Keys
复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"
3)在Jenkins中添加凭证,配置私钥
在Jenkins添加一个新的凭证,类型为"SSH Username with private key",把刚才生成私有文件内容复
制过来
查看已有的凭据
4)测试凭证是否可用
新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证
查看控制台的输出
同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!