-
Notifications
You must be signed in to change notification settings - Fork 2
/
.gitlab-ci-dso.yml
74 lines (62 loc) · 1.96 KB
/
.gitlab-ci-dso.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
## L'équipe de CPiN a développé un catalogue pour faciliter les opérations courantes sur les pipelines CI/CD
# - vault-ci.yaml
# - kaniko-ci.yaml
# - java-mvn.yaml
# - sonar-ci.yaml
# vault-ci:
## Récupération de différents secrets concernant le projet, entre autre l'URL du repo harbor
## Méthodes disponibles:
## - .vault:read_secret
# kaniko-ci:
## Build de l'image selon le Dockerfile trouvable dans le repo et stockage sur un registry:
## - docker (par défaut)
## - ou harbor (si le stage .vault:read_secret a été executé avant)
## Méthodes disponibles:
## - .kaniko:build-push : build l'image avec ajout automatique de 3 tags: latest, nom de la branche, short sha du dernier commit
## - kaniko:simple-build-push : build de l'image, il est nécessaire de spécifier le tag à ajouter avec la variable TAG
# La variable REGISTRY_URL devra être positionner à ${IMAGE_REPOSITORY} ou un registry autre
# java-mvn:
## Construction des projets java via maven
## Méthodes disponibles:
## - .java:build : lance un build via maven
## - .java:sonar : lance un analyse sonar via maven
# sonar-ci:
## Méthodes disponibles:
## - .sonar:sonar-scanner : lance l'utilitaire sonar-scanner sur le projet
include:
- project: $CATALOG_PATH
file:
- vault-ci.yml
- kaniko-ci.yml
# - java-mvn.yaml
# - sonar-ci
ref: main
default:
image: alpine:latest
# tags:
# - ADD_CUSTOM_TAG_HERE
cache:
paths:
- .m2/repository/
- node_modules
variables:
MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"
MAVEN_CLI_OPTS: ""
MVN_CONFIG_FILE: $MVN_CONFIG
TAG: "${CI_COMMIT_REF_SLUG}"
DOCKERFILE: Dockerfile
REGISTRY_URL: "${IMAGE_REPOSITORY}"
stages:
- read-secret
- docker-build
read_secret:
stage: read-secret
extends:
- .vault:read_secret
docker-build:
variables:
WORKING_DIR: "."
IMAGE_NAME: app-nginx-static-demo
stage: docker-build
extends:
- .kaniko:build-push