Я создал рабское изображение jenkins для Docker, которое я хочу использовать для создания всех моих Java-проектов, однако я не могу понять, как ссылаться на .m2/Файл settings.xml, чтобы указать, куда его тянуть.Jenkins Slave не умеет читать settings.xml
Мои Dockerfile является:
FROM openjdk:8
MAINTAINER Chris Hudson <[email protected]>
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.
Настоящий раб является контейнером. Я думаю, что мастер jenkins подключается непосредственно к этому подчиненному контейнеру и вообще не взаимодействует с хост-системой докера (порт 22 отправляется в sshd подчиненного контейнера). Это означает, что рабочее пространство также находится внутри подчиненного контейнера. Мне нравится плагин, который вы упомянули, хотя :) – fishi
Думаю, вам стоит попробовать плагин, у вас будет ваша конфигурация в одном родовом месте, он прост в использовании. Если вам нужна помощь, дайте мне знать –