jenkinsci docker install-plugins.sh生成失败
我尝试使用本教程将vanilla Jenkins图像打包到Docker中: 一切正常,直到Dockerfile尝试从一个刚刚被copeid到自己目录中的jenkinsci docker install-plugins.sh生成失败,docker,jenkins,Docker,Jenkins,我尝试使用本教程将vanilla Jenkins图像打包到Docker中: 一切正常,直到Dockerfile尝试从一个刚刚被copeid到自己目录中的plugins.txt文件运行install plugins.sh的最后一个步骤之一。这是我在运行docker build时遇到的错误: /usr/local/bin/install-plugins.sh: line 148: TEMP_ALREADY_INSTALLED: unbound variable The command '/bin/s
plugins.txt
文件运行install plugins.sh
的最后一个步骤之一。这是我在运行docker build时遇到的错误:
/usr/local/bin/install-plugins.sh: line 148: TEMP_ALREADY_INSTALLED: unbound variable
The command '/bin/sh -c /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt' returned a non-zero code: 1
/usr/local/bin/install-plugins.sh:第148行:TEMP\u已安装:未绑定变量
命令'/bin/sh-c/usr/local/bin/install-plugins.sh
这是我的plugins.txt文件:
管道模型定义:最新的
只有一行
我似乎想不出什么可以解决这个问题。我尝试使用这个答案中的建议:但是命令行抛出了与上面完全相同的错误。感谢您的帮助。该变量是在中定义的(已弃用,应替换为
install plugins.sh
)
但未在中定义,仅在中使用
如上图所示,在调用
install plugins.sh
之前,首先尝试设置TEMP\u已经安装了
。这应该在安装plugins.sh
文件中?或者在调用install plugins.sh
之前运行?@NicholasPesa在调用install plugin.sh
之前应该可以运行:然后调用install plugin.sh
将继承您刚才设置的新环境变量。这是在dockerfile中,因此我尝试将脚本复制到容器中,并在调用install-plugins.sh之前运行它,但仍然无法运行“您能从最初的映像创建一个新映像,而不是将文件复制到一个正在运行的容器中吗?”NicholasPesa说,我能让它运行,但它找不到$JENKINS_HOME
并退出
# the war includes a # of plugins, to make the build efficient filter out
# the plugins so we dont install 2x - there about 17!
if [ -d "$JENKINS_HOME" ]
then
TEMP_ALREADY_INSTALLED=$JENKINS_HOME/preinstalled.plugins.$$.txt
else
echo "ERROR $JENKINS_HOME not found"
exit 1
fi