我们使用 Jenkins 集成外部 Git 仓库,实现对真实代码的拉取和构建。在这里,我们选用 Coding/Github/Gitee 等都可以作为我们的代码源
首先,我们先来配置公钥和私钥。这是 Jenkins 访问 Git 私有库的常用认证方式。我们可以使用 ssh-keygen 命令即可生成公钥私钥。在本地机器执行生成即可。这里的邮箱可以换成你自己的邮箱:
ssh-keygen -t rsa -C “xxxx@gmail.com”
执行后,会遇到第一步步骤: Enter file in which to save the key 。
这一步是询问你要将公钥私钥文件放在哪里。默认是放在 ~/.ssh/id_rsa 下,当然也可以选择输入你自己的路径。一路回车即可。
结束后,你会得到两个文件。分别是 xxx 和 xxx.pub。
其中,xxx 是私钥文件,xxx.pub 是对应的公钥文件。我们需要在 Git 端配置公钥,在 Jenkins 端使用私钥与 Git 进行身份校验。
回到 Jenkins。在 Jenkins 中,私钥/密码 等认证信息都是以 凭证 的方式管理的,所以可以做到全局都通用。 我们可以在配置任务时,来添加一个自己的凭证。点击项目的 配置,依次找到 **源码管理 => Git => Repositories **
这里的 Repository URL 则是我们的仓库地址, SSH 地址格式为 git@e.coding.net:xxx/xxx.git 。可以从仓库首页中的 克隆/下载 => SSH 中看到
重点是 Credentials 这一项,这里则是我们选择认证凭证的地方。我们可以点击右侧 添加 => Jenkins 按钮添加一条新的凭证认证信息。
点击后会打开一个弹窗,这是 Jenkins 添加凭证的弹窗。选择类型中的 SSH Username with private key 这一项。接着填写信息即可:
ID:这条认证凭证在 Jenkins 中的名称是什么
描述:描述信息
Username:用户名(邮箱)
Private Key:这里则是我们填写私钥的地方。点击 Add 按钮,将 xxx 私钥文件内所有文件内容全部复制过去(包含开头的 BEGIN OPENSSH PRIVATE KEY 和结尾的 END OPENSSH PRIVATE KEY)
接着点击添加按钮,保存凭证。