Команда RUN npm внутри операторов if внутри dockerfile - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть dockerfile, который построен с ARG (имя ветки git).Я хочу выполнить 2 оператора if, которые проверяют имя ветви git: так что если это ветка test, то она будет запускать «npm run test», если это главная ветка, то «npm run build».Я пробовал это, но это не работает:

RUN if ["$ GIT_BRANCH" = "test"];затем CMD npm test;fi

RUN if ["$ GIT_BRANCH" = "master"];затем CMD npm build;fi

Работает с echo, но не с командами npm.почему?

спасибо

1 Ответ

0 голосов
/ 08 апреля 2019

в случае, если у кого-то одна и та же проблема однажды: если вы хотите выполнить команду npm внутри оператора if в файле dockerfile, ключом будет написать:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...