凭据可以用来存储需要密文保护的数据库密码、Gitlab密码、Docker私有仓库密码等等,以便Jenkins可以和这些第三方的应用进行交互。今天的目标是使用凭据实现与Gitlab的交互。
1. 安装插件
要在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工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。
2. 安装Git插件和Git工具
为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在服务器上安装Git工具。
2.1 Git插件安装
2.2 安装Git工具
# 安装
yum install -y git
# 安装后查看版本
git --version
3. 用户密码类型
我们先演示使用用户密码类型如何与Gitlab进行交互。
(1)创建凭证
(2)测试凭证是否可用,新建demo项目
(3)开始构建
(4)构建成功之后,查看服务器/var/lib/jenkins/workspace
目录,发现已经从Gitlab成功拉取代码到Jenkins中。
4. SSH密钥类型
说完用户密码类型,我们再说说SSH密钥类型。SSH免密登录示意图:
(1)使用root用户生成公钥和私钥
ssh-keygen -t rsa
(2)把生成的公钥放在Gitlab中
(3)在Jenkins中添加凭证,配置私钥
(4)测试凭证是否可用,新建ssh-demo项目
(5)构建测试,可以看到最终成功构建
网友评论