当前位置:   article > 正文

GitlabRunner 使用Maven命令报权限不足_docker 部署的gitlab-runner 项目打包报错mvn: not found

docker 部署的gitlab-runner 项目打包报错mvn: not found
GitlabRunner 使用Maven报权限不足
  • 错误

    解决前解决后
    提示权限不足,是由于在容器内没有添加映射环境解决后
  • 解决方案

    1. 检测宿主机 maven,java 等的环境变量是否生效
    检测所需环境
    检测所需环境
    1. 获取环境变量所在路径

      获取路径
      获取路径
    2. 添加数据卷

      1. 或者重新启动gitlab-runner 容器时指定数据卷

        # 查看正在运行的容器
        docker ps
        # 停止容器
        docker stop 上述获取的容器id
        # 删除容器
        docker rm 上述获取的容器id
        
        # 参数解释
        # 将宿主机的 maven、java 环境映射到 docker 内 前面是系统(宿主机)相关环境变量位置:后面是docker内映射路径
        -v /usr/local/maven_home/apache-maven-3.6.3:/usr/local/maven_home/apache-maven-3.6.3 
        -v /usr/local/maven_home/jdk1.8.0_231:/usr/local/maven_home/jdk1.8.0_231 
          
        # 启动容器交互式 指定名称后期需要使用 gitlab-runner 名称  
        docker run -d --name gitlab-runner --restart always \
          -v /var/run/docker.sock:/var/run/docker.sock \
          -v /etc/gitlab-runner \
          -v /usr/local/maven_home/apache-maven-3.6.3:/usr/local/maven_home/apache-maven-3.6.3 \
          -v /usr/local/maven_home/jdk1.8.0_231:/usr/local/maven_home/jdk1.8.0_231 \
          gitlab/gitlab-runner:v12.9.0 
        
        # gitlab-runner:v12.9.0 容器名称 和 版本号 
        
        # 交互式注册
        docker exec -it gitlab-runner gitlab-runner register
        
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
      2. 配置所需环境变量

      # 进入容器内
      docker exec -it 容器id bash
      # 配置容器内 maven,java 环境变量
      vim /etc/profile
          # 填写下面内容 系统内和docker都配置
          JAVA_HOME=/usr/local/maven_home/jdk1.8.0_231
          JRE_HOME=/usr/local/maven_home/jdk1.8.0_231/jre
          MAVEN_HOME=/usr/local/maven_home/apache-maven-3.6.3
          export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$PATH
          export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      # 使其生效 
      source /etc/profile
      # 容器内检测环境是否生效
      mvn -version
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      1. 测试一个maven项目

        stages:
          - test
        
        test:
          stage: test
          script:
            - echo first build ci
            - /usr/local/maven_home/apache-maven-3.6.3/bin/mvn package
        
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        mvn项目mvn项目运行结果
        mvn项目mvn项目运行结果
      2. 配置容器内的maven镜像本地存储库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/130589?site
推荐阅读
相关标签
  

闽ICP备14008679号