Select Git revision
gitlab-ci.yml
-
Grzegorz Rola authoredGrzegorz Rola authored
gitlab-ci.yml 3.42 KiB
variables:
PHP_ERROR_REPORTING: E_ALL
COMPOSER_ALLOW_SUPERUSER: 1
GIT_STRATEGY: fetch
PRODUCTION_SHOPIFY_API_KEY: ""
PRODUCTION_DEPLOY_HOST: s125.cyber-folks.pl
PRODUCTION_DEPLOY_USER: wlgmnfabmq
PRODUCTION_DEPLOY_DIR: ""
STAGE_SHOPIFY_API_KEY: ""
STAGE_DEPLOY_HOST: s125.cyber-folks.pl
STAGE_DEPLOY_USER: wlgmnfabmq
STAGE_DEPLOY_DIR: ""
RUN_AFTER_DEPLOY: "pwd"
PREDATORS_GROUP_ID: 788
stages:
- build
- deploy
- purge_cache
- tests
.template: &prepare-assets
tags:
- vendor
artifacts:
name: "assets"
paths:
- web/frontend/dist
image: node:latest
stage: build
interruptible: true
script:
- if [ "$SHOPIFY_API_KEY" == "" ]; then echo "SHOPIFY_API_KEY is empty" ; exit 1; fi
- cd web/frontend
- npm config set -- //${CI_SERVER_HOST}/:_authToken=${PREDATORS_DEPLOY_TOKEN}
- npm config set @octolize:registry=https://${CI_SERVER_HOST}/api/v4/packages/npm/
- npm config list
- npm install
- npm run build
.template: &deploy-template
image: wpdesknet/amazon-svn-deploy
stage: deploy
tags:
- vendor
before_script:
- echo "$DEMO_FS_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa_demo_fs
- chmod 0600 ~/.ssh/id_rsa_demo_fs
- echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts
script:
- if [ "$DEPLOY_HOST" ] == "" ]; then echo "DEPLOY_HOST is empty" ; exit 1; fi
- if [ "$DEPLOY_USER" ] == "" ]; then echo "DEPLOY_USER is empty" ; exit 1; fi
- if [ "$DEPLOY_DIR" ] == "" ]; then echo "DEPLOY_DIR is empty" ; exit 1; fi
- ls -al
- ssh-keyscan -H -p 222 $DEPLOY_HOST >> ~/.ssh/known_hosts
- rsync -v --delete -rlDe 'ssh -p 222 -v -i ~/.ssh/id_rsa_demo_fs' --exclude-from=.distignore ${CI_PROJECT_DIR}/web/ $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_DIR
- ssh -p 222 -i ~/.ssh/id_rsa_demo_fs $DEPLOY_USER@$DEPLOY_HOST "cd $DEPLOY_DIR && mv frontend/dist/assets/ public/ && mv frontend/dist/index.html public/index.html && php81 bin/console doctrine:migrations:migrate --no-interaction && php81 bin/console cache:clear && $RUN_AFTER_DEPLOY"
.template: &deploy-to-stage
<<: *deploy-template
variables:
DEPLOY_HOST: $STAGE_DEPLOY_HOST
DEPLOY_USER: $STAGE_DEPLOY_USER
DEPLOY_DIR: $STAGE_DEPLOY_DIR
dependencies:
- composer install
- prepare assets stage
.template: &deploy-to-production
<<: *deploy-template