Skip to content

Commit cb5debb

Browse files
committed
refacto ci
1 parent 7eeafdc commit cb5debb

17 files changed

+217
-590
lines changed

.gitlab-ci.yml

Lines changed: 16 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,170 +1,44 @@
11
################################################################################
2-
# Gitlab CI integration for Drupal 9.
2+
# Gitlab CI integration for Esante.
33
################################################################################
44

55
include:
6-
- '/.gitlab/ci/base.yml'
7-
- '/.gitlab/ci/images.yml'
8-
- '/.gitlab/ci/variables.yml'
9-
- '/.gitlab/ci/rules.yml'
10-
- '/.gitlab/ci/deploy.yml'
11-
- '/.gitlab/ci/jira.yml'
6+
- local: .gitlab/ci/jobs/*.yml # Include abstract jobs to be extended
7+
- local: .gitlab/ci/fragments/*.yml # Include any non-job yml fragments
128

139
default:
14-
image: docksal/cli:php8.1
1510
tags:
1611
- ans-g2-g3
1712

1813
################################################################################
1914
# Stages.
2015
################################################################################
21-
22-
# Order is important fo dependency!
16+
# Order is important for dependencies!
2317
stages:
2418
- build
19+
- lint
2520
- audits
26-
- tests
21+
- packaging
2722
- deploy
28-
- jira
29-
- release
30-
- lint
23+
- external
3124

3225
################################################################################
3326
# Build job.
3427
################################################################################
35-
36-
build:site:
37-
stage: build
38-
needs: []
39-
extends:
40-
- .node_image
41-
- .build_rules
42-
before_script:
43-
- npm ci
44-
script:
45-
- ./node_modules/.bin/gulp
46-
artifacts:
47-
paths:
48-
- site
49-
- styleguide
50-
expire_in: 1 hour
51-
52-
################################################################################
53-
# Code quality jobs.
54-
################################################################################
55-
56-
# Sonar
57-
#sonar:
58-
# extends:
59-
# - .sonar
60-
# rules:
61-
# - !reference [.git_interne, rules]
62-
# - !reference [.merge_request, rules]
63-
64-
#owasp_dependency_check:
65-
# extends:
66-
# - .owasp_dependency_check
67-
68-
#sonar_full:
69-
# stage: audits
70-
# extends:
71-
# - .sonar
72-
# needs: ["owasp_dependency_check"]
73-
# rules:
74-
# - !reference [.git_interne, rules]
75-
# - !reference [.develop, rules]
76-
# - !reference [.tags, rules]
28+
site-build:
29+
extends: [ .site:build, .node12-image ]
7730

7831
################################################################################
7932
# Code linter & Test jobs.
8033
################################################################################
81-
82-
#css-lint:
83-
# stage: tests
84-
# needs: []
85-
# extends:
86-
# - .css-lint
87-
# - .to_merge_css
88-
# variables:
89-
# FOLDER: g_nius
34+
site-lint:
35+
extends: [ .site:lint, .node12-image]
9036

9137
################################################################################
92-
# Deploy
38+
# Packaging
9339
################################################################################
40+
package_generate:
41+
extends: [ .package:generate ]
9442

95-
# RUI SANTE
96-
#deploy_rui_sante:
97-
# stage: deploy
98-
# needs: ["composer", "css-build"]
99-
# dependencies: ["composer", "css-build"]
100-
# extends:
101-
# - .sante_variables
102-
# - .ssh
103-
# - .rui_sante_rules
104-
# - .deploy
105-
# variables:
106-
# GIT_STRATEGY: none
107-
# ENV_IP: $RUI_IP
108-
# ENV_USER: $RUI_USER
109-
# environment:
110-
# name: $RUI_NAME
111-
# url: $RUI_URL
112-
113-
114-
################################################################################
115-
# Release
116-
################################################################################
117-
118-
generate_package:
119-
stage: build
120-
needs: ["build:site"]
121-
dependencies: ["build:site"]
122-
extends:
123-
- .ressources_variables
124-
- .tags_rules
125-
script:
126-
- |
127-
cat <<EOT >> ./version.json
128-
{
129-
"project": "${CI_PROJECT_NAME}",
130-
"build_date": "$(date +"%Y-%m-%d %H:%M:%S %Z")",
131-
"deploy_date": "",
132-
"version": "${CI_COMMIT_TAG}",
133-
"env": "",
134-
"machine": "",
135-
"job_name": "${CI_JOB_NAME}"
136-
}
137-
EOT
138-
# Fix ownership
139-
- sudo chown -R docker:docker .
140-
# Build package
141-
- |
142-
zip -qr ${PACKAGES_NAME} site styleguide version.json \
143-
-x \*\*/node_modules/\*
144-
artifacts:
145-
paths:
146-
- $PACKAGES_NAME
147-
148-
upload_package:
149-
stage: release
150-
needs: ["generate_package"]
151-
dependencies: ["generate_package"]
152-
extends:
153-
- .ressources_variables
154-
- .tags_rules
155-
script:
156-
- 'curl -k --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${PACKAGES_NAME} "${PACKAGE_REGISTRY_URL}${PACKAGES_NAME}"'
157-
158-
generate_release:
159-
stage: release
160-
needs: ["upload_package"]
161-
dependencies: ["upload_package"]
162-
extends:
163-
- .ressources_variables
164-
- .tags_rules
165-
script:
166-
- |
167-
curl -k --header 'Content-Type: application/json' \
168-
--header "JOB-TOKEN: $CI_JOB_TOKEN" \
169-
--data '{ "name": "Release Ressources '$CI_COMMIT_TAG'", "tag_name": "'${CI_COMMIT_TAG}'", "description": "Release '${CI_COMMIT_TAG}'", "assets": { "links": [ { "name": "'${PACKAGES_NAME}'", "url": "'${PACKAGE_REGISTRY_URL}${PACKAGES_NAME}'"} ] } }' \
170-
--request POST "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases"
43+
package_upload:
44+
extends: [ .package:upload ]

.gitlab/ci/base.yml

Lines changed: 0 additions & 46 deletions
This file was deleted.

.gitlab/ci/code-quality.yml

Lines changed: 0 additions & 63 deletions
This file was deleted.

.gitlab/ci/deploy.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.

.gitlab/ci/fragments/caches.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Cache templates.
2+
.cache-composer:
3+
cache:
4+
- key:
5+
files:
6+
- composer.lock
7+
paths:
8+
- vendor
9+
- web/core
10+
- web/modules/contrib
11+
12+
.cache-yarn:
13+
cache:
14+
- key:
15+
files:
16+
- web/modules/custom/${FOLDER}/yarn.lock
17+
paths:
18+
- web/modules/custom/${FOLDER}/node_modules
19+
20+
.cache-npm:
21+
cache:
22+
- key:
23+
files:
24+
- web/themes/custom/${FOLDER}/package-lock.json
25+
paths:
26+
- web/themes/custom/${FOLDER}/node_modules

.gitlab/ci/fragments/images.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Images template.
2+
# @see https://docs.gitlab.com/ee/ci/yaml/#image
3+
default:
4+
image: bash:5.2.26 # minimal container
5+
6+
.php-image:
7+
image: wodby/php:8.1
8+
9+
.node12-image:
10+
image: node:12-alpine
11+
12+
.node16_image:
13+
image: node:16.14-alpine
14+
15+
.node20-image:
16+
image: node:20.11-alpine

0 commit comments

Comments
 (0)