jenkins 的 credentials 是為了與第三方應用進行交互控制而設置的,如源碼托管應用 GitHub,如果需要 commit 后進行源碼的自動化拉取,編譯,運行,就需要對第三方應用擁有足夠的控制權限。
以 GitHub 為例,演示配置 jenkins 不同的 credentials types:
- Secret Text
- Username and password
- SSH Username with private key
Secret Text
GitHub
Secret Text 需要預先在Github 上配置 Personal Token Key
配置 Personal Token Key 的路徑為:【GitHub 用戶圖像】-> 【Setttings】-> 【Developer Settings】-> 【Personal access Token】
Note:配置好后刷新Token會消失,因此要立即保存
Jenkins
版本:2.249.1
得到 Key 后,在 jenkins 上進行配置:【people】-> 【admin】-> 【Credentials】->【Store from Parent(jenkins)】-> 【System:Global credentials(unrestricted)】->【Add Credentials】
Kind 選擇 Secret Text
Scope 默認 ID 默認
Secret 粘貼上一步 GitHub 的 Token Key
Description:可以填入一些描述,如 GitHub with token
Username and Password
不需要在 github 上進行配置
Jenkins
Jenkins 的配置和上面的 Secret Text 一樣,只是:
Kind 選擇 Username and paasword
Username 填入 Github用戶名
Password 填入 Github密碼
Description 填入描述性信息,如 Github with password
其他默認即可
SSH Username with private key
Linux
生成公鑰和私鑰對
root用戶為:/root/.ssh
非root用戶為:/home/user_name/.ssh
ssh-keygen -t rsa
Jenkins
Jenkins 的配置和上面一樣,選擇 ssh Username with private key
將私鑰粘貼到 private key(Enter directly)
GitHub
將公鑰粘貼到某個倉庫或者全局的(settings -> ssh and gpg key)