在 CentOS 系统中,如果已经有一个正在运行的 Docker 容器中的 Jenkins,并且你想要更新配置以使用宿主机上的 Maven,可以按照以下步骤操作:
-
查看当前运行的 Jenkins 容器:
bashdocker ps -a
找到你的 Jenkins 容器 ID 或名称。
-
停止现有 Jenkins 容器 :
使用容器 ID 或名称停止 Jenkins 容器。
bashdocker stop <jenkins_container_id_or_name> docker rm <jenkins_container_id_or_name>
-
修改 Docker 启动命令以挂载 Maven 目录 :
在重新启动容器时,你需要更新
docker run
命令来挂载 Maven 的相关目录。假设你的 Maven 安装在/usr/local/maven
,本地仓库在/root/.m2/repository
,则应如下所示:bashdocker run -d --name jenkins \ -p 8080:8080 -p 50000:50000 \ --user root \ -m 2048M \ -v /var/jenkins_home:/var/jenkins_home \ -v /usr/local/maven/conf:/usr/share/maven/conf \ -v /usr/local/maven:/usr/share/maven \ -v /root/.m2:/root/.m2 \ jenkins/jenkins:latest
-
重启并检查 Jenkins 容器 :
使用上述命令重启 Jenkins 容器(记得替换
<jenkins_container_id_or_name>
):bashdocker start <jenkins_container_id_or_name>
-
Jenkins 内配置 Maven :
登录到 Jenkins 控制台后,在 Jenkins 中全局配置 Maven:
- 进入
Manage Jenkins
->Global Tool Configuration
。 - 在 Maven 配置区域,添加一个新的 Maven 安装定义,名称可自定义,如 "Maven 3.x"。
- 如果已正确挂载 Maven 安装目录,则 MAVEN_HOME 应自动检测或不需要手动指定。
- 保存设置。
- 进入
-
测试 Maven 是否可用 :
创建一个需要 Maven 的 Jenkins 任务,然后构建它,确保 Maven 正确地从宿主机读取配置和依赖项。
注意:上述示例假设 Jenkins 用户(通常是 Jenkins 自身创建的用户)在容器内有权限访问挂载的 Maven 目录。如果需要,可能还需要调整容器内的用户和组权限设置。