在执行CICD的时候,爆了下面两个错误

.gitlab-ci.yml 文件如下:

stages:
- build
- package
# 构建 Job
build:
  stage: build
  tags:
  - diaoTag
  script:
  - echo "=============编译构建任务=============="
  
# 打包
package:
  stage: package
  tags:
  - diaoTag
  script:
  - echo "==============打包任务============="
  - echo "==============启动项目:开始============="
  - echo "==============git目录============="
  - pwd
  - java -jar /root/project/spring-boot-04-web-restfulcrud-0.0.1-SNAPSHOT.jar
  - echo "==============启动项目:完成============="

报错1:

        Error: Unable to access jarfile /root/project/spring-boot-04-web-restfulcrud-0.0.1-SNAPSHOT.jar

报错2:

        rm: cannot remove ‘/home/gitlab-runner/builds/11c0daa1/0/root/cicdTest/.git/index.lock’: Permission denied

问题分析:

        报错1原因是执行

java -jar /root/project/spring-boot-04-web-restfulcrud-0.0.1-SNAPSHOT.jar

        时报错

        报错2原因是执行

rm -f /home/gitlab-runner/builds/11c0daa1/0/root/cicdTest/.git/index.lock

        时报错

        我在使用 SecureCRT 连接时执行上诉命令并不报错。后面发现,我本地测试使用的是root 用户,而在CICD的时候,gitLab 使用的是gitlab-runner 用户,对上述命令中的文件地址没有权限,所以要加上gitlab-runner用户的文件权限

解决:

        添加上面命令的两个目录的权限

chmod  755 /root/project
chmod  755 /home/gitlab-runner/builds/11c0daa1/0/root/cicdTest

效果:

执行build 任务成功

执行package 任务成功,jar包执行正常(jar包是个springboot  web项目)

项目页面,启动正常,欧耶! 

 

 

 

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐