Установка плагинов Jenkins для Docker Jenkins
У меня есть следующий файл Docker с 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
![enter image description here]()
Затем я начал и подключился к контейнеру этого шага сборки, чтобы "отладить" ошибку:
![enter image description here]()
Однако я не мог узнать причину, потому что каждый каталог, похоже, существует. Кроме того, если я запускаю цикл for вручную вручную в 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
script. Это выглядит так:
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/plugins.txt
Я думаю, причина, по которой ваш подход не работал, связан с некоторой обработкой в старте script.