Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 詹金斯奴隶罐';t读取settings.xml_Java_Maven_Jenkins_Docker_Settings - Fatal编程技术网

Java 詹金斯奴隶罐';t读取settings.xml

Java 詹金斯奴隶罐';t读取settings.xml,java,maven,jenkins,docker,settings,Java,Maven,Jenkins,Docker,Settings,我已经为Docker创建了一个jenkins slave映像,我想用它来构建我所有的Java项目,但是,我不知道如何引用.m2/settings.xml文件来告诉它从哪里提取 我的Dockerfile是: FROM openjdk:8 MAINTAINER Chris Hudson <chudson@amelco.co.uk> RUN apt-get -qqy update && \ apt-get -y install openssh-server sud

我已经为Docker创建了一个jenkins slave映像,我想用它来构建我所有的Java项目,但是,我不知道如何引用.m2/settings.xml文件来告诉它从哪里提取

我的Dockerfile是:

FROM openjdk:8
MAINTAINER Chris Hudson <chudson@amelco.co.uk>

RUN apt-get -qqy update && \
    apt-get -y install openssh-server sudo

RUN useradd -m -u 1000 -s /bin/bash jenkins && \
    mkdir -p /home/jenkins/.ssh && \
    mkdir -p /home/jenkins/.m2 && \
    echo jenkins:jenkins | chpasswd && \
    mkdir -p /etc/sudoers.d/ && \
    echo "jenkins ALL=(root) NOPASSWD: ALL" > /etc/sudoers.d/jenkins && \
    chmod 440 /etc/sudoers.d/jenkins

COPY id_rsa.pub /home/jenkins/.ssh/authorized_keys
COPY settings.xml /home/jenkins/.m2/

RUN chown -R jenkins:jenkins /home/jenkins

RUN mkdir -p /var/run/sshd

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
来自openjdk的
:8
维修人员克里斯·哈德森
运行apt-get-qqy更新&&\
apt get-y安装openssh服务器sudo
运行useradd-m-u1000-s/bin/bash-jenkins&&\
mkdir-p/home/jenkins/.ssh&&\
mkdir-p/home/jenkins/.m2&&\
echo jenkins:jenkins | chpasswd&&\
mkdir-p/etc/sudoers.d/&&\
echo“jenkins ALL=(root)NOPASSWD:ALL”>/etc/sudoers.d/jenkins&&\
chmod 440/etc/sudoers.d/jenkins
复制id\u rsa.pub/home/jenkins/.ssh/authorized\u密钥
复制settings.xml/home/jenkins/.m2/
运行chown-R jenkins:jenkins/home/jenkins
运行mkdir-p/var/RUN/sshd
暴露22
CMD[“/usr/sbin/sshd”,“-D”]
但是当我运行构建时,它会尝试从maven central而不是我们的本地Artifactory实例(在设置文件中配置)中提取


当我在Jenkins Master上运行它时,这是可行的,但我想将构建卸载到从属系统,但我无法确定如何正确配置Maven。

我认为您的工作区是从从属系统装载的。它不是从容器中读取.m2


您可以尝试使用他的插件-创建settings.xml并配置MVN构建步骤以使用它。

从机本身就是一个容器。我认为jenkins master直接与这个从属容器连接,根本不与docker主机系统交互(端口22被转发到从属容器的sshd)。这意味着工作空间也在从属容器内。我喜欢你提到的插件:)我想你应该试试这个插件,你可以在一个通用的地方进行配置,很容易使用。如果你需要帮助,请告诉我