Skip to content
Snippets Groups Projects
Commit a68e1717 authored by jurgenhaas's avatar jurgenhaas
Browse files

#1 Optimize code for DB rebuild logic

parent 55b3ed37
No related branches found
No related tags found
No related merge requests found
stages: stages:
- validation
- build - build
- prepare - prepare
- test - test
- deploy - deploy
variables:
DBREQUIRED: "no"
.wait: .wait:
script: script:
- while [ ! -f /tmp/foo.txt ]; do echo "waiting..."; sleep 1; done - while [ ! -f /tmp/foo.txt ]; do echo "waiting..."; sleep 1; done
...@@ -47,6 +51,33 @@ stages: ...@@ -47,6 +51,33 @@ stages:
key: build-${COMPOSE_PROJECT_NAME} key: build-${COMPOSE_PROJECT_NAME}
<<: *cache_paths <<: *cache_paths
.prerequisites:
stage: validation
tags:
- default
variables:
GIT_STRATEGY: none
script: |
if [[ "$CI_COMMIT_REF_NAME" == "master" ]]; then
DBREQUIRED="yes"
elif [[ "$CI_COMMIT_REF_NAME" == *"[re-build-db]"* ]]; then
DBREQUIRED="yes"
elif [[ "$FORCE_DB_UPDATE" == "yes" ]]; then
DBREQUIRED="yes"
else
ID=$(docker container ls --all -q -f name=^${COMPOSE_PROJECT_NAME}_mariadb_1$)
if [[ ! -n ${ID} ]]; then
DBREQUIRED="yes"
else
# TODO: check if DB in container is empty.
echo "DB check not yet implemented"
fi
fi
except:
variables:
- $CAE
- $DISABLE_CI_TESTS
.build: .build:
stage: build stage: build
tags: tags:
...@@ -91,19 +122,16 @@ stages: ...@@ -91,19 +122,16 @@ stages:
- ansible - ansible
variables: variables:
GIT_STRATEGY: none GIT_STRATEGY: none
script: script: |
- ascr drupal-dump-db ${CI_PROJECT_PATH} ${PWD}/${CI_PROJECT_NAME}.sql master if [[ "$DBREQUIRED" == "yes" ]]; then
ascr drupal-dump-db ${CI_PROJECT_PATH} ${PWD}/${CI_PROJECT_NAME}.sql master
fi
cache: {} cache: {}
artifacts: artifacts:
name: dbdump name: dbdump
when: always when: always
paths: paths:
- ${CI_PROJECT_NAME}.sql - ${CI_PROJECT_NAME}.sql
only:
variables:
- $CI_COMMIT_REF_NAME == "master"
- $CI_COMMIT_MESSAGE =~ /\[re-build-db\]/i
- $FORCE_DB_UPDATE == "yes"
except: except:
refs: refs:
- tags - tags
...@@ -118,19 +146,16 @@ stages: ...@@ -118,19 +146,16 @@ stages:
- default - default
variables: variables:
GIT_STRATEGY: none GIT_STRATEGY: none
script: script: |
- docker cp ${CI_PROJECT_NAME}.sql ${COMPOSE_PROJECT_NAME}_php_1:/var/www/html if [[ "$DBREQUIRED" == "yes" ]]; then
- drush sql:drop --yes docker cp ${CI_PROJECT_NAME}.sql ${COMPOSE_PROJECT_NAME}_php_1:/var/www/html
- drush sql:query --file=../${CI_PROJECT_NAME}.sql drush sql:drop --yes
- drush cr drush sql:query --file=../${CI_PROJECT_NAME}.sql
- drush updatedb drush cr
- drush config-import sync drush updatedb
- drush cr drush config-import sync
only: drush cr
variables: fi
- $CI_COMMIT_REF_NAME == "master"
- $CI_COMMIT_MESSAGE =~ /\[re-build-db\]/i
- $FORCE_DB_UPDATE == "yes"
except: except:
refs: refs:
- tags - tags
...@@ -148,19 +173,18 @@ stages: ...@@ -148,19 +173,18 @@ stages:
- default - default
variables: variables:
GIT_STRATEGY: none GIT_STRATEGY: none
script: script: |
- drush cr if [[ "$DBREQUIRED" == "no" ]]; then
- drush updatedb drush cr
- drush config-import sync drush updatedb
- drush cr drush config-import sync
drush cr
fi
except: except:
refs: refs:
- master - master
- tags - tags
variables: variables:
- $CI_COMMIT_MESSAGE =~ /^Merge tag /i
- $CI_COMMIT_MESSAGE =~ /\[re-build-db\]/i
- $FORCE_DB_UPDATE == "yes"
- $CAE - $CAE
- $DISABLE_CI_TESTS - $DISABLE_CI_TESTS
dependencies: dependencies:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment