Select Git revision
gitlab-ci.yml
-
Sebastian Pisula authoredSebastian Pisula authored
gitlab-ci.yml 4.64 KiB
variables:
PHP_ERROR_REPORTING: E_ALL
COMPOSER_ALLOW_SUPERUSER: 1
GIT_STRATEGY: fetch
RUN_AFTER_DEPLOY: "pwd"
DEPLOY_AFTER_SCRIPT: ""
PREDATORS_GROUP_ID: 788
stages:
- tests
- build
- deploy
.template: &build-rules
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_NAME == "devel"'
when: always
variables:
APP_ENV: "staging"
SHOPIFY_APP_CLIENT_ID: $STAGING_SHOPIFY_APP_CLIENT_ID
MANTLE_PIXEL_TOKEN: $STAGING_MANTLE_PIXEL_TOKEN
- if: '$CI_COMMIT_TAG'
when: always
variables:
APP_ENV: "production"
SHOPIFY_APP_CLIENT_ID: $PRODUCTION_SHOPIFY_APP_CLIENT_ID
MANTLE_PIXEL_TOKEN: $PRODUCTION_MANTLE_PIXEL_TOKEN
.template: &deploy-rules
variables:
RELEASE_VERSION: $CI_JOB_ID
SHOPIFY_APP_CONFIG: "staging"
SHOPIFY_CLI_PARTNERS_TOKEN: $STAGING_SHOPIFY_CLI_PARTNERS_TOKEN
DEPLOY_DIR: $STAGING_DEPLOY_DIR
DEPLOY_USER: $STAGING_DEPLOY_USER
DEPLOY_PORT: $STAGING_DEPLOY_PORT
DEPLOY_HOST: $STAGING_DEPLOY_HOST
before_script:
- if [ "$RELEASE_VERSION" == "" ]; then echo "RELEASE_VERSION is empty" ; exit 1; fi
- if [ "$SHOPIFY_APP_CONFIG" == "" ]; then echo "SHOPIFY_APP_CONFIG is empty" ; exit 1; fi
- if [ "$SHOPIFY_CLI_PARTNERS_TOKEN" == "" ]; then echo "SHOPIFY_CLI_PARTNERS_TOKEN is empty" ; exit 1; fi
- if [ "$DEPLOY_DIR" == "" ]; then echo "DEPLOY_DIR is empty" ; exit 1; fi
- if [ "$DEPLOY_USER" == "" ]; then echo "DEPLOY_USER is empty" ; exit 1; fi
- if [ "$DEPLOY_PORT" == "" ]; then echo "DEPLOY_PORT is empty" ; exit 1; fi
- if [ "$DEPLOY_HOST" == "" ]; then echo "DEPLOY_HOST is empty" ; exit 1; fi
- echo $RELEASE_VERSION;
- echo $SHOPIFY_APP_CONFIG;
- echo $DEPLOY_DIR;
rules:
- if: '$CI_COMMIT_REF_NAME == "devel"' # Automatyczne na branchu `devel`
when: always
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' # Manualne w kontekście Merge Request
when: manual
- if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_TAG == ""' # Manualne na innych branchach (bez `master` i tagów)
when: manual
- if: '$CI_COMMIT_TAG' # Automatyczne na tagu (produkcja)
when: always
variables:
RELEASE_VERSION: $CI_COMMIT_TAG
SHOPIFY_APP_CONFIG: "production"
SHOPIFY_CLI_PARTNERS_TOKEN: $PRODUCTION_SHOPIFY_CLI_PARTNERS_TOKEN
DEPLOY_DIR: $PRODUCTION_DEPLOY_DIR
DEPLOY_USER: $PRODUCTION_DEPLOY_USER
DEPLOY_PORT: $PRODUCTION_DEPLOY_PORT
DEPLOY_HOST: $PRODUCTION_DEPLOY_HOST
build web frontend:
<<: *build-rules
image: node:latest
artifacts: