apetkevicius
3/19/2018 - 8:48 AM

GitLab CI/CD auto deploy

GitLab CI/CD auto deploy (Drupal 8).

#!/bin/bash
set -e # We want to fail at each command, to stop execution.
cd /home/master/web
# Make database dump.
dump_file_name="HOST-master-`date +%Y-%m-%d-%H%M`.sql.gz"
drush sql-dump --gzip > ../../db/$dump_file_name
cd ..
git pull
# Commit database dump.
#git add db/$dump_file_name
#git commit -m "Database backup $dump_file_name"
#git push
# Run composer and import configs.
composer install
cd web
drush updb -y
drush cim -y
drush cr
#!/bin/bash
set -e # We want to fail at each command, to stop execution.
cd /home/dev/web
# Make database dump.
#dump_file_name="HOST-develop-`date +%Y-%m-%d-%H%M`.sql.gz"
#drush sql-dump --gzip > ../../db/$dump_file_name
cd ..
git pull
# Commit database dump.
#git add db/$dump_file_name
#git commit -m "Database backup $dump_file_name"
#git push
# Run composer and import configs.
composer install
cd web
drush updb -y
drush cim -y
drush cr
stages:
  - deploy

dev-deployment:
  stage: deploy
  script:
    -  ssh HOST 'bash -s' < dev-deployment.sh
  only:
    - develop

prd-deployment:
  stage: deploy
  script:
    -  ssh HOST 'bash -s' < prd-deployment.sh
  only:
    - master