Init
This commit is contained in:
177
frontend/.gitlab-ci.yml
Normal file
177
frontend/.gitlab-ci.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
stages:
|
||||
- prepare
|
||||
- build
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: kroniak/ssh-client
|
||||
interruptible: true
|
||||
before_script:
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
||||
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
|
||||
- chmod 400 ~/.ssh/id_rsa
|
||||
|
||||
# Vercel
|
||||
vercel:
|
||||
image: node:18-alpine
|
||||
stage: deploy
|
||||
dependencies: []
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "develop" && $CI_COMMIT_BRANCH !~ /^release/
|
||||
when: manual
|
||||
script:
|
||||
- npm install --global vercel
|
||||
- vercel pull --yes --environment=preview --token=$VERCEL_TOKEN
|
||||
- vercel build --token=$VERCEL_TOKEN
|
||||
- vercel deploy --prebuilt --token=$VERCEL_TOKEN
|
||||
environment:
|
||||
name: vercel
|
||||
|
||||
# Storybook
|
||||
storybook:
|
||||
stage: deploy
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "develop"
|
||||
when: manual
|
||||
variables:
|
||||
SSH_PRIVATE_KEY: $STAGING_SSH_PRIVATE_KEY
|
||||
script:
|
||||
- tar -czf sources.tar.gz .
|
||||
- scp -r sources.tar.gz $STAGING_USER@$STAGING_SERVER:/amwork/storybook
|
||||
- ssh $STAGING_USER@$STAGING_SERVER "cd /amwork/storybook && ./deploy.sh"
|
||||
environment:
|
||||
name: staging
|
||||
url: https://amwork.dev
|
||||
|
||||
.prepare_script: &prepare_script
|
||||
- tar -czf sources.tar.gz .
|
||||
- scp -r sources.tar.gz $USER@$SERVER:$FOLDER
|
||||
|
||||
.build_script: &build_script
|
||||
- ssh $USER@$SERVER "cd $FOLDER && ./build.sh"
|
||||
|
||||
.deploy_script: &deploy_script
|
||||
- ssh $USER@$SERVER "cd $FOLDER && ./deploy.sh && ./update-version.sh"
|
||||
|
||||
.staging_job:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "develop"
|
||||
variables:
|
||||
SSH_PRIVATE_KEY: $STAGING_SSH_PRIVATE_KEY
|
||||
USER: $STAGING_USER
|
||||
SERVER: $STAGING_SERVER
|
||||
FOLDER: /amwork/frontend
|
||||
environment:
|
||||
name: staging
|
||||
url: https://amwork.dev
|
||||
|
||||
.amwork_job:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main"
|
||||
variables:
|
||||
SSH_PRIVATE_KEY: $AMWORK_PROD_SSH_PRIVATE_KEY
|
||||
USER: $AMWORK_PROD_USER
|
||||
SERVER: $AMWORK_PROD_SERVER
|
||||
FOLDER: /amwork/frontend
|
||||
environment:
|
||||
name: production/amwork
|
||||
url: https://amwork.com
|
||||
|
||||
.mywork_job:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main"
|
||||
variables:
|
||||
SSH_PRIVATE_KEY: $MYWORK_PROD_SSH_PRIVATE_KEY
|
||||
USER: $MYWORK_PROD_USER
|
||||
SERVER: $MYWORK_PROD_SERVER
|
||||
FOLDER: /mywork/frontend
|
||||
environment:
|
||||
name: production/mywork
|
||||
url: https://mywork.app
|
||||
|
||||
# Staging
|
||||
staging_prepare:
|
||||
extends: .staging_job
|
||||
stage: prepare
|
||||
script: *prepare_script
|
||||
staging_build:
|
||||
extends: .staging_job
|
||||
stage: build
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script: *build_script
|
||||
staging_deploy:
|
||||
extends: .staging_job
|
||||
stage: deploy
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script: *deploy_script
|
||||
|
||||
# Amwork Production
|
||||
amwork_prepare:
|
||||
extends: .amwork_job
|
||||
stage: prepare
|
||||
script: *prepare_script
|
||||
amwork_build:
|
||||
extends: .amwork_job
|
||||
stage: build
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script: *build_script
|
||||
amwork_deploy:
|
||||
extends: .amwork_job
|
||||
stage: deploy
|
||||
when: manual
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script: *deploy_script
|
||||
|
||||
# Mywork Production
|
||||
mywork_prepare:
|
||||
extends: .mywork_job
|
||||
stage: prepare
|
||||
variables:
|
||||
FOLDER: /apps/mywork/frontend
|
||||
script: *prepare_script
|
||||
mywork_build:
|
||||
extends: .mywork_job
|
||||
stage: build
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FOLDER: /apps/mywork/frontend
|
||||
script: *build_script
|
||||
mywork_deploy:
|
||||
extends: .mywork_job
|
||||
stage: deploy
|
||||
when: manual
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FOLDER: /apps/mywork/frontend
|
||||
script: *deploy_script
|
||||
|
||||
# Platforma500 Production
|
||||
platforma500_prepare:
|
||||
extends: .mywork_job
|
||||
stage: prepare
|
||||
needs: [mywork_prepare]
|
||||
variables:
|
||||
FOLDER: /apps/platforma500/frontend
|
||||
script: *prepare_script
|
||||
platforma500_build:
|
||||
extends: .mywork_job
|
||||
stage: build
|
||||
needs: [mywork_build]
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FOLDER: /apps/platforma500/frontend
|
||||
script: *build_script
|
||||
platforma500_deploy:
|
||||
extends: .mywork_job
|
||||
stage: deploy
|
||||
when: manual
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FOLDER: /apps/platforma500/frontend
|
||||
script: *deploy_script
|
||||
Reference in New Issue
Block a user