Skip to content
Snippets Groups Projects

Develop

Merged danielspeicher requested to merge develop into main
1 file
+ 91
30
Compare changes
  • Side-by-side
  • Inline
+ 91
30
@@ -12,14 +12,14 @@ tags:
This project contains a number of pre-configured tasks for GitLab CI/CD that
allow to run very powerful pipelines which contain the following stages:
- .pre (predefined)
- validate
- execute
- build (predefined)
- buildprod
- prepare
- test (predefined)
- deploy (predefined)
- [.pre (predefined)](#pre)
- [validate](#validate)
- [execute](#execute)
- [build (predefined)](#build)
- [buildprod](#build-prod)
- [prepare](#prepare)
- [test (predefined)](#test)
- [deploy (predefined)](#deploy)
- release
- finalize
- postprocess
@@ -29,26 +29,26 @@ We have a predefined `execute` job called `LakeDrops`, which looks like this:
- execute
- LakeDrops
- buildprod
- Build Prod Site
- Build Prod Site NG
- build
- Build Site
- Build Theme
- Check 4 Outdated Packages
- Check 4 Security Vulnerability Advisories
- Download DB
- Download DB NG
- prepare
- Import DB
- Import DB NG
- Import Local DB
- Update DB
- test
- Test Code Style
- Test PHPUnit
- Test Backstop
- Test Cypress E2E
- [buildprod](#build-prod)
- [Build Prod Site](#build-prod-site)
- [Build Prod Site NG](#build-prod-site-ng)
- [build (predefined)](#build)
- [Build Site](#build-site)
- [Build Theme](#build-theme)
- [Check 4 Outdated Packages](#check-4-outdated-packages)
- [Check 4 Security Vulnerability Advisories](#check-4-security-vulnerability-advisories)
- [Download DB](#download-db)
- [Download DB NG](#download-db-ng)
- [prepare](#prepare)
- [Import DB](#import-db)
- [Import DB NG](#import-db-ng)
- [Import Local DB](#import-local-db)
- [Update DB](#update-db)
- [test](#test)
- [Test Code Style](#test-code-style)
- [Test PHPUnit](#test-phpunit)
- [Test Backstop](#test-backstop)
- [Test Cypress E2E](#test-cypress-e2e)
- finalize
- Shut Down Docker Project
@@ -193,7 +193,11 @@ The following jobs must run before successfully:
- [Build Prod Site](#build-prod-site)
#### Check 4 Outdated Packages
#### Check 4 Security Vulnerability Advisories
#### Download DB
@@ -266,7 +270,7 @@ Rules, when the job should run:
##### Import DB Default Anchor
We start a docker image for php with the specifies versions:
We start a docker image for `php` with the specifies versions:
- `PHP_MAJOR_VERSION`
- `PHP_MINOR_VERSION`
@@ -345,6 +349,63 @@ Rules, when the job should run:
- the tests are enabled by `$DISABLE_CI_TESTS` != "1"
### Test
After the preparation and the setup of a Drupal database, we can execute tests. This happens in this stage.
All tests use the two [Internal Test Stages](#internal-test-stages).
#### Test Code Style
This job uses [PHP Code Sniffer](../../dev_tools/test.md#php-code-sniffer) and stores the artefacts in `phpcs`.
Rules, when the job should run:
- the code style tests are enabled by `$DISABLE_CI_TEST_CODESTYLE` != "1"
#### Test PHPUnit
#### Test Backstop
#### Test Cypress E2E
#### Internal Test Stages
Every test stage needs internal reoccurring definitions.
**.test_lakedrops_default**
We start a docker image for `php` with the specifies versions:
- `PHP_MAJOR_VERSION`
- `PHP_MINOR_VERSION`
The following jobs must run before successfully:
- [Build Site](#build-site)
But this job can start running when the [Build Site](#build-site) has finished, so other
test jobs can run in parallel.
After running, we copy the logs from the `php` container to the current directory.
**.test_lakedrops_theme**
The following jobs must run before successfully:
- [Build Site](#build-site)
- [Build Theme](#build-theme)
In the `before_script` part, we copy the `$THEME_CSS_PATH` into the `php` container, if the
`$THEME_BUILD` variable ist set to "yes".
In `after_script` we remove `$THEME_CSS_PATH` again.
####
### Deploy
This stage handles the deployment of the produced build artefact.
@@ -410,7 +471,7 @@ This internal job, you find in [mixins.yml](https://gitlab.lakedrops.com/gitlab-
Mainly, we care about getting access to:
- the host `${CI_SERVER_HOST}` with `ssh` via `$SSH_PRIVATE_KEY`
- 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`
Loading