Jenkins Slave无法读取settings.xml

时间:2017-01-19 16:09:02

标签: 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 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"]

但是当我运行构建时,它会尝试从maven中心提取,而不是在设置文件中配置的本地Artifactory实例。

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

1 个答案:

答案 0 :(得分:0)

我认为您的工作区是从奴隶安装的。并且它没有从容器中读取.m2

您可以尝试使用他的插件 - https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin来创建settings.xml并配置您的MVN构建步骤以使用它。