赞
踩
Maven
报权限不足错误
解决前 | 解决后 |
---|---|
提示权限不足,是由于在容器内没有添加映射环境 |
解决方案
maven,java
等的环境变量是否生效检测所需环境 |
---|
获取环境变量所在路径
获取路径 |
---|
添加数据卷
或者重新启动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
配置所需环境变量
# 进入容器内
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
测试一个maven
项目
stages:
- test
test:
stage: test
script:
- echo first build ci
- /usr/local/maven_home/apache-maven-3.6.3/bin/mvn package
mvn 项目 | mvn 项目运行结果 |
---|---|
配置容器内的maven镜像
、本地存储库
等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。