ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gitlab-cicd常见问题

2021-09-28 12:05:15  阅读:231  来源: 互联网

标签:git runner cicd gitlab 常见问题 dir 打包 分支


1.权限禁止

报错:warning:unable to access '/home/gitlab-runner/.config/git/attributes':Permission denied

权限问题,重新针对文件所在的最近一层文件夹赋予可执行权限

chmod -R 777 file

2. 流水线只能一个一个job去执行,不可并行打包的问题

主要是因为concurrent设置了1,只能有1个job并行执行,把concurrent参数改一下,比如改成6,就可以一次并行6个job了

vi /etc/gitlab-runner/config.toml

3. gitlab-runner 打包的直接地址在/home/gitlab-runner,是存放在系统盘,项目多的时候系统盘会爆,所有建议把数据放在数据盘;需要把打包目录改一下,修改方式如下:

3.1 全局修改方法

vi/etc/systemd/system/ gitlab-runner.service

把基础目录改成:/var/www/gitlab-runner-build-dir

重启runner

gitlab-runner restart

注意需要给gitlab-runner-build-dir目录权限:chmod -R 777 gitlab-runner-build-dir

3.2 局部修改,针对每个runner修改

修改文件

vi /etc/gitlab-runner/config.toml

重置执行目录:/var/www/gitlab-runner-build-dir

重启runner

gitlab-runner restart

注意如果还没有赋予权限,需要给gitlab-runner-build-dir目录权限:chmod -R 777 gitlab-runner-build-dir

4. 环境打包报错:error: you need to resolve your current index first ,need merge

主要是版本回退的时候,打包会导致vm上的打包跟实际分支回退的代码不同步导致的合并冲突
例如下面打包testing_1.11.0_all分支代码时,发现vm的cicd目录分支代码冲突了

进入到打包主机的打包目录中查看

cd /var/www/html/ecpdoc
git status

发现一堆修改的件

解决方法
4.1. 先把当前分支强制切换到其他正常的分支(比如:haha分支

git checkout -f haha

然后查看切换到haha分支后是否还有文件修改,如果没有就跳过,执行第2步

发现强制切换haha分支还是有修改冲突
再次切换到另外一个正常的分支(比如:lala分支

git checkout -f lala

然后查看切换到lala分支后是否还有文件修改,如果没有修改,比如像下面这样,那么就可以执行第二步;如果还有就重复上一步直到强制切换到一个正常的分支为止

4.2. 当前分支正常后,需要清理有问题的分支缓存

比如上面有问题的分支是test_1.1.0_all,执行命令

git branch -D testing_1.11.0_all

4.3. 再切换到需要打包的分支,testing_1.11.0_all分支,查看分支修改状态发现内容恢复正常

git checkout testing_1.11.0_all
git status

4.4. 重新启动cicd打包,即可打包成功

5. 报错:fatal: reference is not a tree
需要检查.gitlab-ci.yml文件格式是否有误,很可能是没有加流水线

6. cicd操作报错:fatal:could not read Username for 'xxxx':No such device or address
主要是因为没有账号/用户名信息,无法进行操作

解决方式

  1. 用ssh的方式拉取代码,在vm上面设置ssh秘钥信息

  2. 如果用http的方式拉取代码的话,在.git/config文件路径写上账号名称+密码的信息,例如:http://用户名称:密码@yourgitlab.com/xxx

vi .git/config

7. cicd报错

报错:cannot create directory at 'src/assets/plugins/laydate':Permission denied

解决方式
进入到gitlab-runner-build-dir,把对应的缓存文件删除即可 rm -f xxx

8.给gitlab设置root权限

ps aux|grep gitlab-runner #查看当前runner用户

sudo gitlab-runner uninstall #删除gitlab-runner

gitlab-runner install --working-directory /home/gitlab-runner --user root #安装并设置--user(例如我想设置为root)

sudo service gitlab-runner restart #重启gitlab-runner

ps aux|grep gitlab-runner #再次执行会发现--user的用户名已经更换成root了

标签:git,runner,cicd,gitlab,常见问题,dir,打包,分支
来源: https://www.cnblogs.com/huiguo/p/15347085.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有