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)