我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥;我们要登录远程服务器也需要用户名密码或者密钥文件;使用一些第三方平台会用到一些 AppId,AccessKey 之类的用于认证授权的信息,这些东西都可以统称为凭证,目前 Jenkins 支持如下类型的凭证:
- Username with password
- GitHub App
- SSH Username with private key
- Secret file
- Secret text
- X.509 Client Certificate
- Certificate
其中 【Username with password】和【SSH Username with private key】是应用最广泛的。我们在用 Jenkins 构建打包项目时会从代码仓库拉取代码,我们先来配置一下代码仓库的账号和密码。
去到 Jenkins 的【系统管理】→ 【Manage Credentials】下:
在【全局凭据】里面添加新的凭证:
类型选择【Username with password】,填入正确的用户名、密码、ID、和描述信息,ID不填的话会自动生成UUID,这个ID后面在流水线脚本代码里面会用到,尽量写得有意义好辨识:
然后我们再添加一个【SSH Username with private key】类型的凭据,还是拿拉取代码来举例,目前主流的代码托管平台都是支持 HTTPS 或者 SSH 方式访问拉取、提交代码,HTTPS 是使用账号密码的方式,SSH 是采用密钥的方式。所以我们这来添加一个【SSH Username with private key】类型的凭据,需要注意的是【SSH Username with private key】凭据不仅仅是适用于拉取代码,像之前介绍的还可以用于登录远程服务器。
我们这里添加一个【SSH Username with private key】类型的凭据,用于支持 SSH 方式拉取代码:
点击【Add】添加我们之前 maintainer 系统用户的密钥文件内容,也就是 /home/maintainer/.ssh/maintainer
私钥文件中的内容,然后将 /home/maintainer/.ssh/maintainer.pub
公钥文件的内容添加到代码管理平台中,例如 Gitee 的 【SSH公钥】中,其他代码管理平台原理一样。
将 /home/maintainer/.ssh/maintainer
私钥文件中的内容配置到 Jenkins 的凭据中:
将 /home/maintainer/.ssh/maintainer.pub
公钥文件的内容添加到代码管理平台中:
这样配置好后,Jenkins 就可以拉取我们 Git仓库的代码了。