二逼的方式解决 gitlab-runner 拉取代码需要登录的问题

前言

公司使用gitlab-runner作为CICD的工具,之前都是把仓库创建成public的权限,自动化拉取代码、编译、打包、上传稳稳当当一把梭,毫无违和感,突然一天一个同事创建了一个internal权限的仓库,然后 clone GG 了!?!

解决办法

大家肯定想的是,配置一个ssh key免密登录不就好了,然而公司的gitlab只能用http的形式,ssh key免密登录搁浅。
所以我们只能使用记住密码的形式

// 配置全局用户
git config --global user.name "auto-cicd"
git config --global user.email "auto-cicd@company.com"
// 配置存储密码
git config --global credential.helper store
// 使用用户名密码登录一次仓库,使其记住密码
git clone http://username:password@gitlab.com/auto-cicd/cicd-test.git

大功告成......想太多了~

新的问题

gitlab-runner安装的时候根据官网的步骤一把梭下来,创建了一个gitlab-runner的用户,而当前执行命令的不是gitlab-runner用户,所以clone照样GG。
而且官网创建用户的时候,并没有设置密码,本来想用gitlab-runner用户登录后去执行,然而我并不会怎么登录...

最终解决

只能使大招了,既然我不知道怎么用gitlab-runner执行,gitlab-runner自己知道啊,所以在gitlab上创建一个测试项目,开启自动化,把它的自动化脚本配置成上面的代码即可。
执行一次后就保存密码了,之后如果修改密码,在执行一次即可。

原文地址:https://www.cnblogs.com/wh-blog/p/12856146.html