diff --git a/docs/gitlab/drupal/index.md b/docs/gitlab/drupal/index.md index 33c8a900bdec60e5d72c4b19f01a3b53a729eb2a..d1abda2ce6ba5ec9e3b1433dd4252baa07672ec5 100644 --- a/docs/gitlab/drupal/index.md +++ b/docs/gitlab/drupal/index.md @@ -175,7 +175,7 @@ that we setup our own `LakeDrops` tools by `composer lakedrops:scaffold` and `composer lakedrops:docker4drupal`. The next step is to pull all required [Docker](https://www.docker.com/) images -with [Docker Compose](https://docs.docker.com/compose/) adn start the services. +with [Docker Compose](https://docs.docker.com/compose/) and start the services. After everything has started, we create some directories, e.g. for styles, logs and JavaScript. @@ -371,14 +371,61 @@ The following jobs must run before successfully: - [Build Prod Site NG](#build-prod-site-ng) - [Build Theme](#build-theme) +First we have to do some preparation. This is done in the `before_script` section. + +- [.prepareaccess](#prepareaccess) + +This job does not use [Ansible](https://www.ansible.com/). A lot of commands are executed in the script section. +Here is a summary: + +- create the directories, where the site gets deployed to: + - app + - db + - files + - redis + - backup +- sets the ownership and permissions of these files +- start all the docker service with [Docker Compose](https://docs.docker.com/compose/) +- execute several `drush` commands +- create config auto export directory +- restart cron jobs + +To see all the commands, visit +[test_deploy.yml](https://gitlab.lakedrops.com/gitlab-ci-cd/drupal/-/blob/main/test-and-deploy.yml?ref_type=heads). + +Rules, when the job must not run: + +- `$DISABLE_DEPLOYMENT` != "0" +- `$CI_COMMIT_BRANCH` != "main" && `$ENFORCE_DEPLOYMENT` != "1" + + ### Internal Stages Here we have some internal stages, which cannot be executed alone. The purpose is to collect repeating execution. #### .prepareaccess + +This internal job, you find in [mixins.yml](https://gitlab.lakedrops.com/gitlab-ci-cd/general/-/blob/main/mixins.yml?ref_type=heads). + +Mainly, we care about getting access to: + +- the host `${CI_SERVER_HOST}` with `ssh` via `$SSH_PRIVATE_KEY` +- GitLab Login via `$GITLAB_ACCESS_TOKEN` and `$GITLAB_PRIVATE_TOKEN` +- Docker configuration via `$DOCKER_AUTH_CONFIG` + + #### .preparecomposerplugins +This internal job, you find in [mixins.yml](https://gitlab.lakedrops.com/gitlab-ci-cd/general/-/blob/main/mixins.yml?ref_type=heads). + +The following points will be prepared for [Composer](https://getcomposer.org/): + +- the version >2, if `$DOWNGRADE_COMPOSER` is not set +- the configuration `allow-plugins` +- the configuration `audit.abandoned`, depend on `$IGNORE_COMPOSER_ABANDONED_AUDIT` +- unsupported module versions, which are allowed to use + ## Configuration ### GitLab Runner