xet*_*a11 5 maven jenkins docker dockerfile docker-container
我目前正在使用jenkins/jenkins:lts图片。它运行良好,可以完成我希望发生的所有事情。我希望它在构建步骤中运行Maven目标。问题是在jenkins容器环境中没有安装Maven。
所以我想扩展提到的图像来运行一个apt-get install maven。
我的解决方案:
FROM "jenkins/jenkins:lts
USER root
RUN /bin/bash -c "apt-get install maven"
Run Code Online (Sandbox Code Playgroud)
这样够了吗?我假设jenkins映像的所有RUN和ENTRYPOINT步骤将自己运行,并且不需要在Dockerfile中重新执行它们,对吗?
你需要更新包缓存安装之前,千万不要错过-y了apt-get install。
FROM jenkins/jenkins:lts
RUN apt-get update && apt-get install -y maven
Run Code Online (Sandbox Code Playgroud)
根据文档,这将在您的 dockerfile 中
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
Run Code Online (Sandbox Code Playgroud)
假设您的 docker 文件位于当前目录中,这就是您构建映像并安装在本地 docker 存储库中的方式
docker build -t jenkins-maven .
Run Code Online (Sandbox Code Playgroud)
想要查询更多的信息
https://github.com/jenkinsci/docker
以这种方式安装 maven 后,mvn 版本可能会比您需要的旧。当我运行它时,它是 Apache Maven 3.3.9
小智 5
这是将maven安装到docker中的最简单方法:
使用 root 权限连接到 docker
sudo docker exec -u root -t -i [容器 ID] bash
更新并安装maven
apt-get 更新 & apt-get 安装
就是这样。
| 归档时间: |
|
| 查看次数: |
8415 次 |
| 最近记录: |