mirror of https://gitee.com/answerdev/answer.git
94 lines
2.0 KiB
YAML
94 lines
2.0 KiB
YAML
include:
|
|
- project: 'segmentfault/devops/templates'
|
|
file:
|
|
- .deploy-cdn.yml
|
|
- .deploy-helm.yml
|
|
|
|
variables:
|
|
FF_USE_FASTZIP: 'true'
|
|
PROJECT_NAME: 'answer_static'
|
|
|
|
stages:
|
|
- install
|
|
- publish
|
|
- deploy
|
|
|
|
# 静态资源构建
|
|
install:
|
|
image: dockerhub.qingcloud.com/sf_base/node-build:14
|
|
stage: install
|
|
allow_failure: false
|
|
|
|
cache:
|
|
- key:
|
|
files:
|
|
- pnpm-lock.yml
|
|
paths:
|
|
- node_modules/
|
|
policy: pull-push
|
|
script:
|
|
- pnpm install
|
|
- if [ "$CI_COMMIT_BRANCH" = "dev" ]; then
|
|
sed -i "s/<projectName>/$PROJECT_NAME/g" .env.development;
|
|
sed -i "s/<version>/$CI_COMMIT_SHORT_SHA/g" .env.development;
|
|
pnpm run build:dev;
|
|
elif [ "$CI_COMMIT_BRANCH" = "main" ]; then
|
|
sed -i "s/<projectName>/$PROJECT_NAME/g" .env.test;
|
|
sed -i "s/<version>/$CI_COMMIT_SHORT_SHA/g" .env.test;
|
|
pnpm run build:test;
|
|
elif [ "$CI_COMMIT_BRANCH" = "release" ]; then
|
|
sed -i "s/<projectName>/$PROJECT_NAME/g" .env.production;
|
|
sed -i "s/<version>/$CI_COMMIT_SHORT_SHA/g" .env.production;
|
|
pnpm run build:prod;
|
|
fi
|
|
artifacts:
|
|
paths:
|
|
- build/
|
|
|
|
publish:cdn:dev:
|
|
extends: .deploy-cdn
|
|
stage: publish
|
|
only:
|
|
- dev
|
|
variables:
|
|
AssetsPath: ./build
|
|
Project: $PROJECT_NAME
|
|
Version: $CI_COMMIT_SHORT_SHA
|
|
Destination: dev
|
|
|
|
publish:cdn:test:
|
|
extends: .deploy-cdn
|
|
stage: publish
|
|
only:
|
|
- main
|
|
variables:
|
|
AssetsPath: ./build
|
|
Project: $PROJECT_NAME
|
|
Version: $CI_COMMIT_SHORT_SHA
|
|
Destination: test
|
|
|
|
publish:cdn:prod:
|
|
extends: .deploy-cdn
|
|
stage: publish
|
|
only:
|
|
- release
|
|
variables:
|
|
AssetsPath: ./build
|
|
Project: $PROJECT_NAME
|
|
Version: $CI_COMMIT_SHORT_SHA
|
|
Destination: prod
|
|
|
|
deploy:dev:
|
|
extends: .deploy-helm
|
|
stage: deploy
|
|
only:
|
|
- dev
|
|
needs:
|
|
- publish:cdn:dev
|
|
variables:
|
|
KubernetesCluster: dev
|
|
KubernetesNamespace: 'sf-test'
|
|
DockerTag: $CI_COMMIT_SHORT_SHA
|
|
ChartName: answer-web
|
|
InstallPolicy: replace
|