憑據可以用來存儲需要密文保護的數據庫密碼、Gitlab密碼信息、Docker私有倉庫密碼等,以便
Jenkins可以和這些第三方的應用進行交互。
1. 安裝Credentials Binding插件
要在Jenkins使用憑證管理功能,需要安裝Credentials Binding插件
點擊Manage Jenkins選擇Manage Plugins

點擊可選插件,待加載完畢后,在過濾框中輸入Credentials Binding

勾選插件,直接安裝
安裝插件后,左邊多了 "憑證"菜單,在這里管理所有憑證

2. 可以添加的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
密鑰)
3. 使用Git工具到Gitlab拉取項目源碼
演示Jenkins的如何管理Gitlab的憑證。
3. 1 安裝Git插件和Git工具
安裝GIT插件
為了讓Jenkins支持從Gitlab拉取源碼,需要安裝Git插件以及在CentOS7上安裝Git工具。
點擊Manage Jenkins選擇Manage Plugins

勾選,直接安裝
安裝Git工具
CentOS7 上安裝Git工具:
yum -y install git
# 查看git 版本
git --version

3.2 創建用戶密碼類型憑證
Jenkins->憑證->系統->全局憑證->添加憑證

選擇 "Username with password",輸入Gitlab的用戶名和密碼,點擊"確定"。

3.3 測試用戶密碼憑證是否可用
創建一個FreeStyle項目:新建Item->FreeStyle Project->確定

找到 "源碼管理"->"Git",在Repository URL復制Gitlab中的項目URL

將地址填入test01中選擇Git處


這時會報錯說無法連接倉庫!在 Credentials選擇剛剛添加的憑證就不報錯了

保存配置后,點擊構建 ”Build Now“ 開始構建項目


查看 /var/lib/jenkins/workspace/目錄可以看到gitlab中的代碼已經成功被拉取到jenkins中

3.3 創建SSH類型憑證

生成公鑰和私鑰
- 在
jenkins服務器上使用root用戶生成公鑰和私鑰
ssh-keygen -t rsa

在/root/.ssh/目錄保存了公鑰和使用
id_rsa:私鑰文件id_rsa.pub:公鑰文件
- 把生成的公鑰放在
Gitlab中
# 讀取公鑰內容,復制,並填入gitlab
cat ~/.ssh/id_rsa.pub

以root賬戶登錄->點擊頭像->Settings->SSH Keys
復制剛才id_rsa.pub文件的內容到這里,點擊"Add Key"


- 在
Jenkins中添加憑證,配置私鑰
在Jenkins添加一個新的憑證,類型為"SSH Username with private key",把剛才生成私有文件內容復
制過來


點擊確定

3.4 測試SSH類型憑證是否可用
新建"test02"項目->源碼管理->Git,這次要使用Gitlab的SSH連接,並且選擇SSH憑證



同樣嘗試構建項目


至此,使用用戶密碼憑證和使用SSH憑證從gitlab拉取代碼成功
