我正在尝试在基于安装了node的alpine linux的自定义docker映像中运行节点脚本。
Info
是包含我想要运行的节点脚本的脚本,所以我将其添加到Dockerfile中。
ADD info /apps
但是当我尝试在gitlab-ci
文件中运行节点脚本作为CI的一部分时,该命令运行,但变量为空!我不知道为什么,命令的输出到哪里去了。
是gitlab-ci文件的一部分。
image:margach/doctl-alpine-node # image contains node and the info script i want to run
...
script:
- instance=$(node /apps/info) # Instance is not set and that is what i don't know why?
目标是在script标签下以某种方式使用变量来设置另一个变量。
INSTANCE = $instance
脚本部分
Deploy:
image: margach/doctl-alpine-node
stage: deploy
script:
- instance=$(node /apps/info)
-|
cat > env.build << EOF
BUILD_ID: 1
INSTANCE = $instance
EOF
这个问题存在于docker镜像本身,与gitlab-ci文件无关。
命令替换在gitlab-ci文件中按预期工作,因此上述部署作业可以正常工作。