Bienvenue dans cette nouvelle série d’articles sur… GitLab ! Nous allons voir pourquoi et comment, chez Adfab, nous avons décidé de migrer sur GitLab.
Avant de commencer, pourquoi GitLab et pas GitHub ?
L’avantage pour GitLab, comparé à GitHub, est que toute la chaine de déploiement est regroupée dans un projet, ce qui facilite énormément la collaboration des équipes. Il n’est également plus nécessaire de se rendre sur d’autres outils pour utiliser un wiki ou un système de tickets. Grâce la gestion des rôles, il est aussi possible de donner un accès en lecture a vos clients, ou encore – via les intégrations – de le notifier sur Slack par exemple.
Dans cette série d’articles, nous verrons comment passer du développement local jusqu’à la production, en utilisant la suite d’outils de GitLab pour builder une application, réaliser des tests de couverture sur le code, créer et uploader une image docker et déployer notre code sur un serveur de production.
- Part 1 : Git clone
- Part 2 : CI/CD Build
- Part 3 : CI/CD Test coverage
- Part 4 : CI/CD Docker and Registry
- Part 5 : CI/CD Go prod
- Part 6 : Gitlab Runner
Part 1 : Git clone
Pour commencer, nous allons tout d’abord remplacer votre repo de versionning.
Sur GitLab, créez un nouveau projet. Ici on l’appellera gitlab-workshop. Par défaut, Gitlab vous donne la possibilité avec votre compte gratuit d’attribuer un accès a votre repo de code en privé, interne ou publique.
Rien de nouveau : on peut directement cloner notre projet et ajouter le fichier README.md.
git clone https://gitlab.com/nlabbe/gitlab-workshop/ cd gitlab-workshop touch README.md git add README.md git commit -m "add README" git push -u origin master
On va ensuite ajouter un peu de code pour avoir de la matière sur quoi travailler.
React
Pour l’exemple, nous allons créer une web app avec create-react-app et la pousser sur GitLab.
create-react-app . git add . git commit -m "create-react-app" npm run eject git add . git commit -m "eject" git push origin master
Vous pouvez maintenant aller consulter votre code sur GitLab.
Prochainement, nous verrons comment créer notre pipeline de déploiement.