Commit 988e9d90 authored by Florent Chehab's avatar Florent Chehab

Mise à jour du README

parent 73b29ea4
Intégration Continue : **LaTeX** et **GitLab**.
=======
- [Prérequis : activer le _shared Runner_](#pr%C3%A9requis-activer-le-shared-runner)
- [C'est parti](#cest-parti)
- [Remarques](#remarques)
- [Commentaires sur l'intégration continue](#commentaires-sur-lint%C3%A9gration-continue)
- [Pour aller plus loin](#pour-aller-plus-loin)
- [Démonstration](#d%C3%A9monstration)
- [Explications](#explications)
- [Prérequis : activer le _shared Runner_](#pr%C3%A9requis-activer-le-shared-runner)
- [C'est parti](#cest-parti)
- [Remarques](#remarques)
- [Commentaires sur l'intégration continue](#commentaires-sur-lint%C3%A9gration-continue)
- [Pour aller plus loin](#pour-aller-plus-loin)
# Démonstration
Ce _repo_ est en lui-même un démonstation de l'utilisation de l'intégration continue pour la compilation de LaTeX. Le fichier `main.tex` est compilé (voir [Explications](#explications)) et le `pdf` est disponible [ici](https://gitlab.utc.fr/LaTeX-UTC/LaTeX-CI/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master).
# Prérequis : activer le _shared Runner_
N'hésitez pas à cloner ce _repo_ pour vous en servir comme base.
1) Rendez-vous das les `paramètres` du projet GitLab, section `CI/CD`.
2) Cliquez sur `Runners settings` (_expand_).
3) Dans la section _Shared Runners_, cliquez sur _« Activate shared Runners »_.
# Explications
# C'est parti
## Prérequis : activer le _shared Runner_
Vous n'avez plus qu'à modifier le fichier `main.tex` et à _commit_ les changements, la compilation et la publication à l'adresse `https://gitlab.utc.fr/<login>/<nom-du-projet>/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master` se fait automatiquement.
1. Rendez-vous das les `paramètres` du projet GitLab, section `CI/CD`.
1. Cliquez sur `Runners settings` (_expand_).
1. Dans la section _Shared Runners_, cliquez sur _« Activate shared Runners »_.
## Remarques
## C'est parti
- TODO Seul le `pdf` compilé depuis la branche master est rendu disponible en public via les _artifacts_. Ces derniers peuvent être visualisés via :
Vous n'avez plus qu'à modifier le fichier `main.tex` et à _commit_ les changements, la compilation et la publication à l'adresse `https://gitlab.utc.fr/<login-ou-namespace>/<nom-du-projet>/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master` se fait automatiquement. Par exemple, pour ce projet, le pdf est disponible à l'adresse [https://gitlab.utc.fr/LaTeX-UTC/LaTeX-CI/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master](https://gitlab.utc.fr/LaTeX-UTC/LaTeX-CI/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master).
### Remarques
- Les `pdf` compilés sont rendus disponibles en public via les _artifacts_. Ces derniers peuvent être visualisés via :
- La page d'accueil du projet, cliquez sur l'icône _télécharger_ puis sur `Télécharger 'building-latex-master'`
- Dans le menu du projet, cliquez sur `CI/CD` -> `jobs`, puis sur le badge (espérons "réussi") du status associé au job souhaité, puis dans le menu de droite, dans la section `Job artifacts` cliquez sur `browse`.
- Url :
- Pour la branche master : `https://gitlab.utc.fr/<login-ou-namespace>/<nom-du-projet>/-/jobs/artifacts/master/raw/main.pdf?job=building-latex-master`
- Pour les autres branches : `https://gitlab.utc.fr/<login-ou-namespace>/<nom-du-projet>/-/jobs/artifacts/<nom-de-la-branche>/raw/main.pdf?job=building-latex-other-branch`
- Si la compilation échoue, le _job_ sera marqué comme tel et vous pouvez accéder aux logs pour savoir où elle a échouée.
- _Pensez à adapter la license à votre projet._
# Commentaires sur l'intégration continue
## Commentaires sur l'intégration continue
Avec GitLab, toute l'intégration continue est gérée via le fichier `.gitlab-ci.yml`. Voici celui utilisé par ce projet (avec quelques commentaires).
Il comporte 2 jobs sensiblement similaires qui permettent une gestion optimale des ressources disques : à l'heure de la réalisation de ce projet il n'est pas [encore](https://gitlab.com/gitlab-org/gitlab-ce/issues/23777) possible de garder uniquement les derniers artifacts. Pour contourner le système :
Il comporte 2 _jobs_ sensiblement similaires qui permettent une gestion optimale des ressources disques : à l'heure de la réalisation de ce projet il n'est pas [encore](https://gitlab.com/gitlab-org/gitlab-ce/issues/23777) possible de garder uniquement les derniers artifacts. Pour contourner le système :
- Les artifacts issus de la branche master sont conservés 2 ans.
- Les artifacts issus des autres branches sont conservés 2 semaines.
......@@ -52,7 +65,7 @@ building-latex-master:
- "*.pdf"
expire_in: 2 year # Durée de validité de l'archive
tags:
# Tag pour que le sharedrunner du GitLab de l'UTC
# Tag pour que le shared runner du GitLab de l'UTC
# fasse sont travail.
- docker
......@@ -72,7 +85,7 @@ building-latex-other-branch:
```
## Pour aller plus loin
### Pour aller plus loin
Dans la partie `script` d'un job décrit dans le fichier `.gitlab-ci.yml` vous pouvez installer des packets (`apt-get install --yes <nom-du-paquet>`) voire exécuter des scripts bash qui seraient disponibles dans le repo :
```yaml
......
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