CI/CD avec Jenkins - cours 35 000 roubles. de Slurm, formation 8 leçons, Date 28 novembre 2023.
Miscellanea / / November 28, 2023
Il s'agit d'un cours axé sur l'utilisation pratique de Jenkins. Il contiendra de nombreux exemples tirés de ma pratique personnelle.
Passons du simple au complexe. Tout d’abord, nous examinerons les domaines d’application de Jenkins et les différents types de pipelines, puis nous examinerons la bibliothèque partagée Jenkins et examinerons l’intégration avec Kubernetes.
Mon objectif est de partager mon expérience et de vous aider à éviter de commettre les erreurs que j'ai commises au début de mon parcours.
Ce cours approfondira vos connaissances sur le travail avec Jenkins. Tout ce que nous abordons pendant la formation, vous pouvez immédiatement le mettre en pratique.
Notions de base sur CI/CD
Vous découvrirez quel problème CI/CD peut résoudre. Vous pourrez comparer les problèmes actuels dans votre travail avec la fonctionnalité CI/CD.
Théorie:
- Histoire du CI/CD
- Nécessité d'utilisation, répétabilité des assemblages
- Boucle de rétroaction
- Entropie sans automatisation (erreurs humaines)
- Les meilleures pratiques
- Comment ne pas le faire
Les bases de Jenkins
Vous comprendrez la logique des décisions architecturales des autres et comprendrez la structure des répertoires dans Jenkins. Apprenez à installer Jenkins et à effectuer la configuration de base.
Théorie:
- Quels problèmes Jenkins résout-il ?
- Architecture de haut niveau - maître-esclave
- Structure de répertoire dans le maître Jenkins (identifiants, espace de travail, journaux)
- Installer un serveur sous Linux (centos)
- Différentes options pour exécuter Linux dans Docker
Pratique:
- Installation et configuration du serveur Jenkins à l'aide de l'une des méthodes décrites dans la leçon
Administration de Jenkins
Vous apprendrez à installer des plugins et à effectuer une configuration de base, à ajouter des nœuds de travail supplémentaires et à configurer des outils de configuration. Vous comprendrez comment créer des informations d'identification et différencier les droits d'accès dans Jenkins.
Théorie:
- Ajout d'agents esclaves
- Travailler avec des outils
- Sécurité à Jenkins
- Méthodes de délimitation des droits
- Pourquoi avons-nous besoin de plugins et d’options pour les installer ?
Pratique:
- Installation du plugin et configuration d'outils supplémentaires. Ajout d'un jeton GitLab aux informations d'identification.
Déploiement (2 leçons)
Vous apprendrez à choisir le bon type de pipeline pour organiser le processus CI/CD, à mettre en place un environnement de travail pour développer et tester le pipeline. Vous comprendrez comment créer un job avec des paramètres, un job freestyle, un pipeline déclaratif, un pipeline scripté.
Théorie:
- Types de canalisations
- VScode + IdéeIJ
- Actif réactif + choix étendu avec scripts groove
Pratique:
- Création d'un pipeline
Intégrations avec Jenkins
Vous apprendrez à configurer l'intégration du pipeline avec SAST Sonarqube et la notification par e-mail, Telegram et Slack.
Théorie:
- Intégration avec Sonarqube: qu'est-ce que c'est et pourquoi ?
- Intégration avec jforg: qu'est-ce que c'est et pourquoi ?
- Méthodes de notification des résultats de l'exécution du pipeline
Pratique:
- Mise en place d'un pipeline avec envoi des résultats
Développement à Jenkins
Vous découvrirez les domaines d'application de la bibliothèque partagée Jenkins et du moteur de modèles Jenkins, et apprendrez à créer du JSL simple.
Théorie:
- Examinons deux approches à l'aide d'exemples :
- Bibliothèque partagée Jenkins et moteur de modèles Jenkins
Pratique:
- Création d'une bibliothèque partagée Jenkins simple
Meilleures pratiques
Vous apprendrez à configurer un pipeline à l'aide de Blue Ocean et à créer une configuration Jenkins As a Code.
Théorie:
- Méthode DevOps pour stocker la configuration Jenkins
Pratique:
- Mise en place d'un pipeline avec Blue Ocean
- Créer une configuration sous forme de code et installer Jenkins à partir de celle-ci
Jenkins sur Kubernetes
Vous apprendrez comment configurer l'intégration de Jenkins et Kubernetes. Vous comprendrez comment configurer un pipeline pour utiliser des agents dynamiques dans Kubernetes.
Théorie:
- Intégration de Jenkins et Kubernetes
Pratique:
- Configuration de l'intégration Kubernetes
- Configuration d'un pipeline à l'aide d'agents dynamiques
Préparation aux examens
Vous envisagerez plusieurs options pour les tâches qui peuvent être incluses dans les entretiens.
Tache finale
Vous recevrez 2-3 référentiels (frontend et backend). La tâche consiste à élaborer le processus CI/CD. La tâche aidera à déterminer le niveau de croissance des compétences.