README.md 2.51 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
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
Ce dépôt à pour objectif de proposer des conseils et des templates pour démarrer facilement l'intgration continue sur un projet.

## 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.
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

Aller sur [SonarQube](https://sonarqube.forge.grandlyon.com) puis créer un projet (de préférence utiliser le nom du dépot GitLab comme nom de projet sur SonarQube). 

> 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 !

### Gitlab

Dans le projet Gitlab aller dans Setting > CI / CD > Variables

Puis ajouter les variables suivantes :
- 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`.