最近学习pipeline,要从gitlab库里拉取Jenkinsfile。于是接触到了Jenkins和GitLab的集成。
记录一下这里遇到的坑。
1. Jenkins-系统管理-系统配置,Gitlab的“Gitlab host URL”要填"https://gitlab.com";:“Credentials“,用的认证是Gitlab API Token类型。需要再Gitlab上生成access-token填进去。
这里配置的token,应该是Jenkins跟Gitlab交互时用的。跟下面git clone代码仓没有任何关系(已确认)
2. 在Jenkins的pipeline或freestyle的job中:
2.1 https开头的gitlab仓库地址,可以用Username with password类型的credential去连接;
2.2 git开头的gitlab库地址,则需要用"SSH Username with private key",并且 Private Key / Enter directly,将私钥填进去,并将对应的公钥配置到Gitlab中。经测试如果你这里是手动填了私钥,那么username是随便写的。(这里,我怀疑如果不填私钥,那么jenkins可能会去后台对应的username的用户家目录.ssh/中去找私钥(待验证))。这里有个大坑,如果你是第一次连接gitlab,并且Jenkins的系统管理-全局安全配置 Git Host Key Verification Configuration的Host Key Verification S