Commit 50c04e3b authored by admin-cleverage's avatar admin-cleverage
Browse files

Init project template

parent ed61e8ee
Pipeline #1002 canceled with stages
in 34 seconds
#
# Ce fichier doit être adapté en fonction du projet en renseignant les variables SONAR_PROJECT_KEY et SONAR_TOKEN dans la configuration graphique du projet (https://forge.grandlyon.com/<CHEMIN_DE_VOTRE_PROJET>/settings/ci_cd)
# La variable SONAR_PROJET_KEY peut être trouvée sur https://sonarqube.forge.grandlyon.com/dashboard en ouvrant le projet et en copiant collant le champ en bas à droite (Project Key)
#
# La variable SONAR_TOKEN doit être générée par le responsable du projet depuis son interface sonar : https://sonarqube.forge.grandlyon.com/account/security/
#
image: docker:git
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
SONAR_URL: https://sonarqube.forge.grandlyon.com
stages:
- sonar-analysis
- build
sonarqube:
stage: sonar-analysis
image: skilldlabs/sonar-scanner:3.4.0
script:
- >
sonar-scanner
-Dsonar.projectName=${CI_PROJECT_NAME}
-Dsonar.projectVersion=1.0
-Dsonar.sourceEncoding=UTF-8
-Dsonar.projectBaseDir=.
-Dsonar.host.url=${SONAR_URL}
-Dsonar.projectKey=${SONAR_PROJECT_KEY}
-Dsonar.login=${SONAR_TOKEN}
build-master:
stage: build
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE" .
- docker push "$CI_REGISTRY_IMAGE"
only:
- master
build:
stage: build
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- DOCKER_BUILDKIT=1 docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
except:
- master
Titre:
URL:
Environnement:
Description:
# Bug issue template
## Résumé
(Résumé du bug rencontré en quelques mots)
## Etapes pour reproduire
(Comment peut-on reproduire le bug. Très important)
## Environnement
(L'environnement (prod, preprod, dev) où le bug est constaté)
## URLs
(La ou les URL(s) où le bug est rencontré)
## Quel est le fonctionnement actuel ?
(Que se passe-t-il ?)
## Quel est le fonctionnement attendu ?
(Que devrait-on voir ?)
## Logs et/ou screenshots
(Copier tous logs pertinents - en utilisant les code blocks (```) pour formater les sorties de console, logs, et code correctement afin d'en faciliter la lecture.)
## Possible fixes
(Si possible, lié la portion de code qui pourrait être responsable du problème.)
/label ~bug ~reproduced ~needs-investigation
/cc @jygastaud
/assign @XXX
# Story template
## Résumé
En tant que
Je veux que
Afin de
## Description
(informations complémentaires)
## ToDo
* [ ] XXX
* [ ] XXX
* [ ] XXX
## Que fait cette MR ?
Résoud #XX
## URL de test
(https://makersboard.me, https://cdm.makersboard.me, https://cms.makersboard.me...)
## Checklist
* [ ] Bug résolu
* [ ] Tests crées / mis à jour
* [ ] Documentation créée / mise à jour
## Que fait cette MR ?
Résoud #XX
# gitlabci-docker
# Template
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`.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment