我有一个使用ARG(git分支的名称)构建的dockerfile。 我想运行2条测试git分支名称的if语句:因此,如果是test分支,则它将运行“ npm run test”,如果是master分支,则将运行“ npm run build”。 我已经尝试过了,但是不起作用:
如果[[$ GIT_BRANCH] =“测试”]则运行;然后CMD npm测试; fi
如果[[$ GIT_BRANCH“ =” master“]运行;然后CMD npm建立; fi
它与echo一起使用,但不适用于npm命令。为什么?
谢谢
答案 0 :(得分:0)
如果某天有人遇到相同的问题: 如果要在dockerfile的if语句中运行npm命令,关键是编写:
RUN if [ "$GIT_BRANCH" = "test" ] ; then /usr/bin/npm test --force ; fi
RUN if [ "$GIT_BRANCH" = "master" ] ; then /usr/bin/npm build --force ; fi
它将起作用。 --force是必不可少的,否则它将启动git错误。