[英]How to make a simple GitLab Ci/CD gitlab-ci.yml file to build an Angular project?
[英]How can I use different script in .gitlab-ci.yml depending on pushed branched
我在gitlab-ci.yml
文件中有以下設置用於構建
build_app:
image: node:10
stage: build
artifacts:
expire_in: 5 minute
paths:
- ./dist
script:
# - mkdir app
# - cp package*.json ./app
- npm ci
# - COPY . . ???
- npm run build --prod
如您所見,我的構建始終帶有--prod
標志,當我在測試服務器上進行測試時,它也以prod
數據開頭
當我推送到master
分支時,如何制作腳本以使用ng build --prod
和推送到dev
分支時的ng build --configuration=stage
?
每個存儲庫只有一個 yaml 文件。 但是您可以僅使用關鍵字來定義腳本的哪個部分在哪個分支上運行(有關更多詳細信息,請參閱文檔)。 這應該是這樣的:
部署主:
階段:-構建
構建:階段:構建腳本:-“這里是您的命令”僅:-主
部署開發:
階段:-構建
構建:階段:構建腳本:-“這里是您的命令”僅:-開發
只需編寫一個 shell 腳本來檢查導致 ci/cd 運行的當前分支:
- case "$CI_COMMIT_BRANCH" in
"master") ng build --prod; ;;
"dev") ng build --configuration=stage; ;;
esac
或者使用簡單的 if else 可能更具可讀性:
- if [ "$CI_COMMIT_BRANCH" = "master" ]; then
ng build --prod;
elif [ "$CI_COMMIT_BRANCH" = "dev" ]; then
ng build --configuration=stage;
fi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.