我是Docker和Jenkins的新手。我必须在Jenkins中构建和部署Nest JS应用程序。当我运行Jenkins作业时,我必须选择“DEPLOY_PROFILE”,它等于“dev”和“qa”,如下所示。
这是我的文档
FROM node:16-alpine
WORKDIR /app
ADD package.json /app/package.json
RUN npm config set registry http://registry.npmjs.org
RUN npm install
ADD . /app
EXPOSE 3000
CMD ["npm", "run", "start"]
我需要将等于“dev”或“qa”的“DEPLOY_PROFILE”变量传递到Dockerfile。然后,最终的Docker命令应类似于npm run start:dev
或npm run start:qa
我试过用
CMD ["npm", "run", "start", `:${DEPLOY_PROFILE}`]
以及
CMD ["npm", "run", "start", `:${env.DEPLOY_PROFILE}`]
但没有什么给我这样的运气。任何帮助都将不胜感激!
1条答案
按热度按时间m528fe3b1#
你可以使用一个环境变量,在你的docker文件中,声明一个参数(传入docker build)和一个环境变量,如下所示:
然后按如下方式使用环境变量:
然后像这样调用buildah(或者你正在使用的任何东西):