В моем Dockerfile
я хочу запустить команду, которая выполняет сценарий bash, который получает переданные аргументы, которые считываются из файла.
В plugins.txt
указан плагин (полное содержимое файла: configuration-as-code
), но bash-скрипт вообще не получает никаких аргументов.
Но так как я нашел способ установки плагинов для сообщения в блоге , я предполагаю, что он должен работатькак есть.
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
COPY install-plugins.sh /usr/local/bin/install-plugins.sh
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
Скрипт установщика начинается со следующих строк и завершается с Usage /usr/local/bin/install-plugins.sh plugin1 plugin 2 ...
#!/bin/bash
set -e
if [ $# -eq 0 ]; then
echo "USAGE: $0 plugin1 plugin2 ..."
exit 1
fi
Как правильно передать содержимое файла plugins.txt
в скрипт?
РЕДАКТИРОВАТЬ
Я нашел решение, которое передает аргументы правильно.Кто-то знает, почему первоначальная попытка неверна?
Работает с:
RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/ref/plugins.txt)