在dockerfile中的if语句中运行RUN NPM命令

时间:2019-04-07 21:00:42

标签: bash docker dockerfile

我有一个使用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命令。为什么?

谢谢

1 个答案:

答案 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错误。