Skip to content
Snippets Groups Projects
Select Git revision
  • 9da763a1bca760b3412cbb29a927b8c9f07255a5
  • main default protected
2 results

gitlab-ci.yml

Blame
  • 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