README.md 3.62 KB
Newer Older
admin-cleverage's avatar
admin-cleverage committed
1
# Template
Jean-Yves GASTAUD's avatar
Jean-Yves GASTAUD committed
2

admin-cleverage's avatar
admin-cleverage committed
3
4
Ce dépôt à pour objectif de proposer des conseils et des templates pour démarrer facilement l'intgration continue sur un projet.

admin-cleverage's avatar
admin-cleverage committed
5
6
7
8
9
10
11
12
13
14
15
## Avant de démarrer

Si ce n'est pas déjà fait, nous vous invitons à consulter la documentation disponible dans le MAGO et notamment :

* [Une explication de l'interface de la forge](https://forge.grandlyon.com/systemes-dinformation/mago/wikis/02_exigences/02_04_ingenierie-logicielle/Interface-forge-logicielle)

* [La FAQ à destination des gestionnaires de projets](https://forge.grandlyon.com/systemes-dinformation/mago/wikis/02_exigences/02_04_ingenierie-logicielle/faq-forge-logicielle)

* [La section dédiée à l'Intégration Continue](https://forge.grandlyon.com/systemes-dinformation/mago/wikis/02_exigences/02_04_ingenierie-logicielle/02_04_01_ci-cd)


admin-cleverage's avatar
admin-cleverage committed
16
17
18
19
20
21
22
23
24
25
26
27
28
## CI/CD

Ce template utilise les fonctionnalités suivantes de la forge pour vous permettre de faire de l'Intégration Continue :

* Gitlab CI
* Docker

Par défaut, votre projet bénéficie d'un **Runner Gitlab** actif et partagé par tous les projets.

Ce runner est lancé via Docker et nécessite l'utilisation de Docker-in-Docker.
Ce runner n'a que pour objectif de construire vos images.

Si vous souhaitez effectuer des déploiements automatiques via Gitlab, il vous faudra intégrer votre propre runner.
admin-cleverage's avatar
admin-cleverage committed
29

admin-cleverage's avatar
admin-cleverage committed
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Vous retouverez les informations d'installation et de liaison d'un runner via le menu `Settings > CI / CD` puis déplier la zone `Runners` et suivre les instructions de la partie `Set up a specific Runner manually`.

### Docker

La configuration de Gitlab CI, sur la partie `build` assume que vous utilisez Docker et que votre fichier `Dockerfile` est à la racine du dépôt.

Si ce n'est pas le cas, il vous faudra modifier les lignes contenant l'instruction `docker build`.

Le template utilise également l'option `DOCKER_BUILDKIT=1` avant le build.
Cette option, disponible à partir de Docker 18.09 permet notamment d'accélérer le build en mutualisant les couches si possibles.
Cela est particulièrement utile dans le cas de l'utilisation de la fonctionnalité `multi-stage` de Docker.

## SonarQube

admin-cleverage's avatar
admin-cleverage committed
44
Allez sur [SonarQube](https://sonarqube.forge.grandlyon.com) puis créez un projet (de préférence utiliser le nom du dépot GitLab comme nom de projet sur SonarQube).
admin-cleverage's avatar
admin-cleverage committed
45
46
47

> IMPORTANT ! Bien conserver le token qui est généré à la création du projet, il est nécessaire pour la CI et n'est disponible qu'une seule fois !

admin-cleverage's avatar
admin-cleverage committed
48
Une fois les informations récupérées :
admin-cleverage's avatar
admin-cleverage committed
49

admin-cleverage's avatar
admin-cleverage committed
50
51
52
* allez dans le projet Gitlab
* entrez dans le menu `Settings > CI / CD`, dépliez la section `Variables`
* puis ajoutez les variables suivantes :
admin-cleverage's avatar
admin-cleverage committed
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

- key = SONAR_PROJECT_KEY, value = [clé de projet ajouter dans SonarQube]
- key = SONAR_TOKEN, value = le token généré à la création du projet dans Sonar.

## Templates d'Issues et de Merge Request

Dans le dossier `.gitlab`, vous retrouverez 2 exemples de templates.

```
.gitlab
├── issue_templates
│   ├── Bug.md
│   └── Story.md
└── merge_request_templates
    ├── Bug.md
    └── Story.md
```

Vous pouvez ajouter, modifier ou supprimer autant de templates que vous le souhaitez, tant que l'aborescence est respecté.

Les templates sont à rédiger au format Markdown et doivent porter l'extension `.md`.
admin-cleverage's avatar
admin-cleverage committed
74
75
76
77
78

Pour plus d'information sur l'utilité des modèles et comment les utiliser :

* [dans le MAGO](https://forge.grandlyon.com/systemes-dinformation/mago/wikis/02_exigences/02_04_ingenierie-logicielle/faq-forge-logicielle#je-veux-d%C3%A9finir-des-mod%C3%A8les-de-tickets)
* [sur Gitlab.com (en)](https://docs.gitlab.com/ce/user/project/description_templates.html#creating-issue-templates)