当前位置: 首页 > 知识库问答 >
问题:

Dockerfile作为jenkins slave和maven设置

史弘致
2023-03-14

我在dockerfile中使用映像jenkins/ssh slave作为基础。我想安装一个特定的maven版本并配置设置。但它不起作用,它没有选择从我的nexus下载工件的设置。此外,我不知道谁应该指定maven版本:(

你可以在下面看到我的dockerfile。我尝试安装Maven键入maven: 3.5.6,但它说找不到。我也复制了我的设置,但maven不会去我的nexus下载依赖项(settings.xml在本地工作)

FROM jenkins/ssh-slave

# Install selected extensions and other stuff
RUN apt-get update && apt-get -y --no-install-recommends install && apt-get clean   

# Install maven 
RUN apt-get install -y maven

COPY ./settings.xml /usr/share/maven/conf/settings.xml

有人能帮忙吗?提前非常感谢您。

共有2个答案

颜君浩
2023-03-14

根据你的问题,

我想安装一个特定的maven版本并配置设置。

我建议您使用Maven包装器(mvnw)而不是mvn命令。这将使您能够灵活地构建html" target="_blank">应用程序,而无需在vm或系统中预先安装Maven。由于您使用的是Docker,并且在某些地方使用的是mvn clean install命令,因此我建议您使用mvnw clean install。

mvn干净安装和mvnw干净安装是有区别的,如果想要特定版本的maven,也可以在maven-wrapper.properties文件中设置。

我提供以下几个链接,以便对您有用。

https://www.baeldung.com/maven-wrapper

mvnw和mvnw的目的是什么。cmd文件?

如果想要一个关于maven包装器的非常简单的示例,请参阅下面的github链接。https://github.com/debjava/maven-wrapper-example

缪风史
2023-03-14
FROM jenkins/ssh-slave

# Install selected extensions and other stuff
RUN apt-get update && apt-get -y --no-install-recommends install && apt-get clean
RUN apt-get install -y curl 

ARG MAVEN_VERSION=3.6.2
ARG USER_HOME_DIR="/usr/jenkins"
ARG SHA=d941423d115cd021514bfd06c453658b1b3e39e6240969caf4315ab7119a77299713f14b620fb2571a264f8dff2473d8af3cb47b05acf0036fc2553199a5c1ee
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries

RUN mkdir -p /usr/share/maven /usr/share/maven/ref \
  && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
  && echo "${SHA}  /tmp/apache-maven.tar.gz" | sha512sum -c - \
  && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
  && rm -f /tmp/apache-maven.tar.gz \
  && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"

RUN chown -R jenkins:jenkins /home/jenkins &&  chmod -R 777 /home/jenkins
COPY --chown=jenkins:jenkins ./settings.xml /home/jenkins/.m2/settings.xml
 类似资料:
  • Dockerfile Maven Status: mature At this point, we're not developing or accepting new features or even fixing non-critical bugs. This Maven plugin integrates Maven with Docker. The design goals are: Do

  • 我想创建一个DOCKER容器供我的gitlab运行器使用,以便编译/部署我的qukus微服务。这是我所做的: 知道为什么这些变量没有设置吗?我做错了什么?

  • 它不工作:(.我有这个错误 [致命]org.springframework:java-backend-bdd:0.1.0:无法将项目org.springframework.boot:spring-boot-starter-parent:POM:2.0.3.从/到central发布(https://repo.maven.apache.org/maven2):sun.security.validato

  • 本文向大家介绍Docker 制作镜像Dockerfile和commit操作,包括了Docker 制作镜像Dockerfile和commit操作的使用技巧和注意事项,需要的朋友参考一下 构建镜像 构建镜像主要有两种方式: 使用docker commit命令从运行中的容器提交为镜像; 使用docker build命令从 Dockerfile 构建镜像。 首先介绍下如何从运行中的容器提交为镜像。我依旧使

  • 我正在使用docker-maven-plugin为Java微服务创建一个dockerfile和docker映像。当我运行命令时,它不会创建DockerFile。 下面是pom.xml中构建任务的配置: 没有错误消息,但没有dockefile。下面是我运行时向屏幕发出的消息:

  • 我在conf/settings.xml中将maven代理设置设置为 但是当我运行maven build时,我得到了以下错误。有人能帮忙吗 详细日志