Ray*_*per 6 docker dockerfile angular
不确定这是否可能。但我想要的是更改 dockerfile 中的这行代码
RUN $(npm bin)/ng build --prod --env=prod
Run Code Online (Sandbox Code Playgroud)
到
RUN $(npm bin)/ng build --prod --env=test
Run Code Online (Sandbox Code Playgroud)
或者更好的是,我如何在 gitbal-ci.yml 文件中进行类似的工作:
# Production build
build:
stage: build
script:
- docker build --pull -t $CONTAINER_ENV_IMAGE .
- docker push $CONTAINER_ENV_IMAGE
args:
- env=prod
only:
- master
# Test build
build:
stage: build
script:
- docker build --pull -t $CONTAINER_ENV_IMAGE .
- docker push $CONTAINER_ENV_IMAGE
args:
- env=test
except:
- master
Run Code Online (Sandbox Code Playgroud)
但前提是 git 分支名称是 test。我正在使用 gitlab 来构建图像。
我需要这个来更改 Angular 中的 api url 环境变量。这是可能的还是有更好的方法?
Dockerfile支持构建参数和环境变量。因此可以指定要使用哪个分支,然后根据分支决定命令。例如,要传递构建参数,请使用 docker build--build-arg =。然后,您可以根据决定要使用的 env 的 git_branch 变量设置一个变量。
\n\nFROM busybox\nARG git_branch\nRUN echo \xe2\x80\x9cBuilding $git_branch\xe2\x80\x9d\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
8048 次 |
| 最近记录: |