Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Documentation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DevOps Tools
Documentation
Commits
07d9b14f
Commit
07d9b14f
authored
8 months ago
by
danielspeicher
Browse files
Options
Downloads
Plain Diff
Merge branch 'develop' into 'main'
Develop See merge request
!26
parents
c20016c7
81c23a82
No related branches found
No related tags found
1 merge request
!26
Develop
Pipeline
#1275569
passed
8 months ago
Stage: build
Stage: deploy
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/gitlab/drupal/index.md
+100
-6
100 additions, 6 deletions
docs/gitlab/drupal/index.md
with
100 additions
and
6 deletions
docs/gitlab/drupal/index.md
+
100
−
6
View file @
07d9b14f
...
...
@@ -10,7 +10,7 @@ tags:
# GitLab CI for Drupal pipelines
This project contains a number of pre-configured tasks for GitLab CI/CD that
allow to run very powerful pipelines which contain the following stage
s
:
allow to run very powerful pipelines which contain the following stage
order
:
-
[
.pre (predefined)
](
#pre
)
-
[
execute
](
#execute
)
...
...
@@ -21,9 +21,8 @@ allow to run very powerful pipelines which contain the following stages:
-
[
validate
](
#validate
)
-
[
test (predefined)
](
#test
)
-
[
deploy (predefined)
](
#deploy
)
-
finalize
-
release
-
.post (predefined)
-
[
finalize
](
#finalize
)
-
[
release
](
#release-stage
)
We have a predefined
`execute`
job called
`LakeDrops`
, which looks like this:
...
...
@@ -61,9 +60,12 @@ available for configuration.
The following chapters describes all stages and their jobs. The files:
-
[
lakedrops.yml
](
https://gitlab.lakedrops.com/gitlab-ci-cd/drupal/-/blob/main/lakedrops.yml?ref_type=heads
)
.
-
[
tests/lakedrops.yml
](
https://gitlab.lakedrops.com/gitlab-ci-cd/drupal/-/blob/main/tests/lakedrops.yml?ref_type=heads
)
.
-
[
test_deploy.yml
](
https://gitlab.lakedrops.com/gitlab-ci-cd/drupal/-/blob/main/test-and-deploy.yml?ref_type=heads
)
.
-
[
check4updates.yml
](
https://gitlab.lakedrops.com/gitlab-ci-cd/drupal/-/blob/main/check4updates.yml?ref_type=heads
)
.
### .pre
To prepare and check, if the environment is good to go, we have a
`.pre`
stage, which contains the
following jobs:
...
...
@@ -209,7 +211,6 @@ The job stores the artefacts in `check4updates`.
Rules, when the job should run:
-
`$CHECKUPDATES`
is set
...
...
@@ -465,6 +466,34 @@ Rules, when the job should run:
### Postprocess
#### Check 4 Updates Commit
We start a docker image for php with the specifies versions:
-
`PHP_MAJOR_VERSION`
-
`PHP_MINOR_VERSION`
The following jobs must run before successfully. Some are optional, which means, if they exist, this job waits for them
to complete:
-
[
Check 4 Updates
](
#check-4-updates
)
-
uses its artefacts
-
[
Check 4 Security Vulnerability Advisories
](
#check-4-security-vulnerability-advisories
)
-
optional
-
[
Check 4 Outdated Packages
](
#check-4-outdated-packages
)
-
optional
First we have to do some preparation. This is done in the
`before_script`
section.
-
[
.prepareaccess
](
#prepareaccess
)
-
[
.preparecomposerplugins
](
#preparecomposerplugins
)
Rules, when the job should run:
-
`$CHECKUPDATES`
is set
-
we are on the
`develop`
branch
### Test
...
...
@@ -648,6 +677,27 @@ This job simply stops and removes the docker container, which are started for th
`docker compose down`
### Release Stage
This stage is responsible for creating a new release.
#### Release Job
This job extends the internal job
[
.merge
](
#merge
)
.
Rules, when the job should run:
-
`$CI_COMMIT_MESSAGE`
contains
`CREATE_RELEASE`
-
we are on the
`develop`
branch
Rules, when the job must not run:
-
if the reference is a
`tag`
-
`$CI_COMMIT_MESSAGE`
contains
`Merge tag`
-
if it is triggered by config auto export (CAE)
-
`$CHECKUPDATES`
is set
-
`$TRIGGERTASK`
is set
### Internal Stages
...
...
@@ -676,9 +726,53 @@ The following points will be prepared for [Composer](https://getcomposer.org/):
-
the configuration
`audit.abandoned`
, depend on
`$IGNORE_COMPOSER_ABANDONED_AUDIT`
-
unsupported module versions, which are allowed to use
#### .merge
First we have to do some preparation. This is done in the
`before_script`
section.
-
[
.prepareaccess
](
#prepareaccess
)
We start a docker image for php with the specifies versions:
-
`PHP_MAJOR_VERSION`
-
`PHP_MINOR_VERSION`
We create a clean directory and clone the git project
`$CI_PROJECT_PATH`
for branch
`$SOURCE_BRANCH`
from
`$CI_SERVER_HOST`
right into it.
After that we execute the
[
merge
](
https://gitlab.lakedrops.com/docker/gitlab-drupal-ci/-/blob/main/bin/merge?ref_type=heads
)
script, which does a few checks and use the
`gitlab`
tool to merge.
Finally, we remove the directory we created above.
#### .retry-for-system-issues
#### .cache_default
This little job ste the amount of retries to "2", when:
-
runner_system_failure
-
stuck_or_timeout_failure
#### .cache_paths
All internal jobs concerning cache will use this job here. It defines the paths:
-
.docker-init/
-
assets/
-
drush/
-
files/
-
keys/
-
settings/
-
vendor/
-
web/core/
-
web/libraries/
-
web/modules/contrib/
-
web/profiles/contrib/
-
web/sites/
-
web/themes/contrib/
-
.ahoy.yml
-
.env
-
docker-compose.yml
## Configuration
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment