我为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。
答案 0 :(得分:0)
我认为您的工作区是从奴隶安装的。并且它没有从容器中读取.m2
您可以尝试使用他的插件 - https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin来创建settings.xml并配置您的MVN构建步骤以使用它。