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

摘要:
前言公司使用gitlabrunner作为CICD的工具。此前,它将仓库创建为公共机构,并自动提取代码、编译、打包和稳定上传。毫无违和感。一天,一位同事创建了一个具有内部权限的仓库,然后克隆了GG!?!解决方案是配置无sshkey密码登录。然而,该公司的gitlab只能是http的形式,而且sshkey免密码登录被搁浅了。密码在执行一次后保存。如果稍后修改密码,则可以执行一次。
前言

公司使用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上创建一个测试项目,开启自动化,把它的自动化脚本配置成上面的代码即可。
执行一次后就保存密码了,之后如果修改密码,在执行一次即可。

免责声明:文章转载自《二逼的方式解决 gitlab-runner 拉取代码需要登录的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Labview 中的类实现移动端上拉加载效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git Push提示没有权限

中途协助别人开发的一个小项目, 我已经是该项目的Developer, 可是提交代码依然提示无权限 这是由于我是在master上直接提交的, 而GitLab默认是保护master分支的, push只对Manifest开放 解决办法就是设置GitLab中的Protected Branches 解除对master的保护 不过多人在master分支上开发,是很...

CentOS7——gitlab本地git仓库搭建 以及web hook配置

整个搭建用的都是各种默认设置,所以没有用到高深的的东西,比较简单,比较傻瓜式,这篇也仅仅是一个入门。 另外本文具有时效性,浏览本文请注意发表时间,为防止过时产生误导,本文尽量把 “如何得知应该这样做” 之类的内容放进去。 1、安装GitLab 从官网获得安装步骤,并执行(不去官网也可以,本文已经把所有用到的命令放进来了,往下看吧)。 官网:https://...

GitLab的基础使用-创建项目(projects)

         GitLab的基础使用-创建项目(projects)                                         作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.准备环境 1>.创建项目组(groups)   博主推荐阅读:     https://www.cnblogs.com/yinzh...

gitlab 搭建

条件:在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知),wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。 内存不小于2G 添加GitLab镜像源并安装gitlab服务器 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab...

Gitlab 修改ldap认证

1. 备份数据 2. 修改配置 使用自己搭建的openldap 使用用户中心的openldap 说明:base属性执行所有员工,user_filter属性主要用来实现分组功能。上面的配置是只有ldap中的gitlab分组中的用户可以登录GitLab。 3、重新加载GitLab配置; # sudo gitlab-ctl reconfigure 4、重...

Gitlab配置webhooks实现自动化部署

Gitlab 自动化部署 原理介绍 配置gitlab当push动作的时候,访问服务器上的一个链接比如www.shenke.group/hook.php hook.php里面写着一行代码,会让服务器git pull相应项目的代码到web目录。 pull结束,代码就在web目录了,我们只要重新访问网站就可以了。     核心就是push的时候,gitlab...