扩展 jenkins 镜像以安装 maven

extend jenkins image to install maven

我目前正在使用 jenkins/jenkins:lts 图片。它 运行 很好,可以满足我的所有期望。我希望它在构建步骤中达到 运行 Maven 目标。问题是jenkins容器环境没有安装maven

所以我想将提到的图像扩展到 运行 和 apt-get install maven

我的解决方案:

FROM "jenkins/jenkins:lts
USER root
RUN /bin/bash -c "apt-get install maven"

这就够了吗?我假设 jenkins 图像的所有 运行 和 ENTRYPOINT 步骤本身都会 运行,我不需要在我的 Dockerfile 中重新执行它们,对吗?

您需要在安装前更新包缓存,并且不要错过 apt-get install-y

FROM jenkins/jenkins:lts
RUN apt-get update && apt-get install -y maven

这是将 maven 安装到 docker 中的最简单方法:

  1. 使用 root 权限连接到 docker

    sudo docker exec -u root -t -i [container-id] bash

  2. 更新并安装 maven

    apt-get 更新 & apt-get 安装

就是这样。

根据文档,这将在您的docker文件

FROM jenkins/jenkins:lts
# if we want to install via apt
USER root
RUN apt-get update && apt-get install -y maven
# drop back to the regular jenkins user - good practice
USER jenkins

假设您的 docker 文件在您的当前目录中,这就是您构建映像并安装在本地 docker 存储库中的方式

docker build -t jenkins-maven .

了解更多信息

https://github.com/jenkinsci/docker

这样安装maven后,mvn版本可能会比你需要的版本旧。当我 运行 这个时,它是 Apache Maven 3.3.9

我的作品文件

FROM jenkins/jenkins:lts
USER root
RUN apt-get update && apt-get install -y maven