Gitlab CI/CD - cours 35 000 roubles. de Slurm, formation, Date: 28 novembre 2023.
Miscellanea / / November 28, 2023
CI/CD est une pratique DevOps qui automatise les processus d'intégration et de livraison et vous permet de publier régulièrement des logiciels de haute qualité.
Avec CI/CD, vous pouvez appliquer les modifications à la branche principale et être sûr qu'elles seront testées et déployées en production sans votre participation.
CI créera automatiquement le logiciel, le testera et vous avertira en cas de problème.
CD installera automatiquement les modifications de code sur les serveurs de l'entreprise et exécutera des tests supplémentaires.
Avec CI/CD, vous ne perdez pas de temps à rechercher et à résoudre les problèmes et pouvez vous concentrer sur le développement de nouvelles fonctionnalités.
Ingénieur systèmes senior, Wrike, ex-Slurm, ex-Southbridge
– 11+ ans en informatique et réseaux, 7+ ans en DevOps
– Constructeur de communauté AWS et architecte certifié
– Co-animateur du podcast DevOps Kitchen Talks
– Fonctionne principalement avec les fournisseurs de cloud (le plus souvent AWS), IaC (Terraform), Kubernetes, Docker, CI\CD (GitLab et autres) et d'autres outils
Tous les cours ont lieu dans le compte personnel de Slurm. Vous choisissez où et quand les regarder. Après avoir étudié chaque sujet, vous devrez effectuer une tâche pratique sur les stands de la plateforme.
Les 2 premiers sujets sont disponibles gratuitement dans le mini-cours « Qu'est-ce que CI/CD ?
Qu’est-ce que le CI/CD et quels problèmes cette technique résout-elle ?
- Référence historique.
- La nécessité d'automatiser les versions, les tests et leur répétabilité.
- Accélérez le développement de produits.
- Unification et capacité d’assemblage de produits.
Principe général de fonctionnement du CI/CD
Comprendre le rôle de CI/CD dans les workflows et ce que Gitlab implémente
- Méthode de développement de pipeline.
- Pipelines, builds, artefacts.
- CI et CD (déploiement et livraison)
Pratique: démarrage rapide avec Gitlab CI.
Présentation des systèmes CI
Découvrez les principaux acteurs qui proposent des outils CI/CD sur le marché
- TravisCI, CircleCI.
- Actions GitHub.
- Jenkins/TeamCity.
- GitlabCI
Pratique: implémentation d'un pipeline python dans CircleCI, Github Actions, Jenkins, Gitlab CI
Présentation, installation et configuration de Gitlab
Découvrez de quels composants se compose Gitlab, apprenez à exécuter le serveur Gitlab
- En quoi consiste Gitlab, de quelles fonctionnalités et composants dispose-t-il ?
- Comment installer Gitlab ?
- Paramètres de base du système Gitlab.
Pratique: lancer un serveur Gitlab
Votre premier projet sur Gitlab
Découvrez les recommandations pour travailler avec Gitlab après l'installation: sécurité et maintenance
- Nous créons notre projet dans Gitlab.
- Bonnes pratiques (comptes utilisateurs, autorisation LDAP, etc.).
Pratique: créer un pipeline simple
Gitlab Runner et sa configuration
Découvrez ce qu'est un coureur et comment il se lance
- Tâches et capacités du coureur.
- Quels types existe-t-il et dans quels cas sont-ils nécessaires ?
- Mise en place d'un coureur pour un projet.
Pratique: configurer Gitlab Runner
Fichier .gitlab-ci.yml
Découvrez les fonctionnalités syntaxiques de la description du pipeline Gitlab et les principales fonctionnalités
- Pourquoi ce fichier est-il nécessaire, qu'est-ce que c'est ?
- Syntaxe, approches de base. CI Linter de Gitlab.
Pratique: création d'un pipeline avancé
Intégration Kubernetes
Découvrez comment Gitlab peut s'intégrer à Kubernetes et apprenez à déployer une application au sein d'un cluster
- Autorisation dans le cluster pour les coureurs.
- Méthode native d'intégration de Gitlab avec Kubernetes
Pratique: écrire un pipeline pour déployer une application dans Kubernetes via Gitlab
Techniques avancées de GitLab CI (et fonctionnalités)
Apprenez les fonctionnalités les plus complexes et les plus intéressantes de Gitlab
- Inclure, modèle.
- Travailler avec des variables.
- Conditions de travail avec les étapes.
- Dépendances d’étape et concurrence.
- Faire face aux incidents. Rollback et environnements dynamiques.
- Ajout de la fonctionnalité Rollback au pipeline
Pratique: une liste de contrôle pour des extraits pratiques qui peuvent être utiles dans des projets réels
GitOps
Découvrez l'approche GitOps et comment elle peut être implémentée à l'aide de Gitlab CI
- Modèle Push and Pull pour les pipelines CI/CD.
- ArgoCD.
Pratique: installation et utilisation d'ArgoCD
Sécurité en CI/CD
Découvrez comment sécuriser votre code et vos pipelines CI/CD à l'aide de GitLab CI
- Variables secrètes.
- Vérification du code pour des raisons de sécurité.
Pratique: découvrez comment intégrer GitLab CI à HashiCorp Vault
Le pipeline parfait avec Slurm
Nous consoliderons le matériel dans la pratique et créerons un pipeline de niveau production qui peut servir de prototype pour des projets réels.
Écrire un véritable processus CI/CD prêt pour la production dans GitLab CI