憑據可以用來存儲需要密文保護的數據庫密碼、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憑證
查看控制台的輸出
同樣嘗試構建項目,如果代碼可以正常拉取,代表憑證配置成功!