Установка плагинов Jenkins в Docker Jenkins
у меня есть следующий Dockerfile с jenkins
в качестве базового изображения:
FROM jenkins
USER root
ENV JENKINS_MIRROR http://mirrors.jenkins-ci.org
RUN for plugin in git-client git ws-cleanup ; do wget -O $JENKINS_HOME/plugins/${plugin}.hpi $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi ; done
EXPOSE 8080
Я пытаюсь установить некоторые дополнительные плагины, но это дает мне ошибку, говоря no such file or directory
затем я начал и подключился к контейнеру этого шага сборки, чтобы "отладить" ошибку:
однако я не мог узнать причину, потому что каждый каталог, похоже, существует. Кроме того, если я затем запускаю for-loop вручную в bash, все плагины установлен правильно...
Я далее заметил, что установка плагинов работает, если я устанавливаю их в корневой каталог следующим образом:
RUN for plugin in git-client git ws-cleanup ; do wget -O ${plugin}.hpi $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi ; done
однако это неправильное место, так как они должны быть размещены в каталоге $JENKINS_HOME/plugins
почему я не могу установить плагины в $JENKINS_HOME/plugins
?
1 ответов
Я не могу прочитать ваши скриншоты, но вы, похоже, не следуете официальным инструкциям. См.https://github.com/cloudbees/jenkins-ci.org-docker в разделе "Установка дополнительных инструментов". Примечание:
- вы должны сохранить Плагины
/usr/share/jenkins/ref/plugins
- вы могли бы использовать
plugins.txt
вместо этого файл, который содержит имена ваших плагинов, и вы можете обрабатывать с помощью предоставленногоplugins.sh
сценарий. Это выглядит так:
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/plugins.txt
Я думаю, что причина, по которой ваш подход не работал, заключалась в некоторой обработке в сценарии запуска.