A qui s’adresse ce cours ?
Architectes techniques, Développeurs, SysAdmins
Pré-Requis
Niveau intermédiaire en développement web, connaissances de base en administration système
Une connaissance minime des tests automatisés est un plus
Moyens pédagogiques
Alternance de cours magistraux (50%) et de travaux pratiques (50%).
Modalités de suivi et d’évaluation
Questionnaire de pré-évaluation avant le stage
Questionnaire d’évaluation de la satisfaction en fin de stage
Feuille de présence émargée par demi-journée par les stagiaires et le formateur
Attestation de fin de formation
Objectifs
A l’issue de cette formation, les participants seront en mesure de :
Connaître les outils et pratiques majeurs du CI/CD
Mettre en place et utiliser Jenkins dans leur travail quotidien
Déroulement du cours
Mettre en place des outils de test et de déploiement automatisés est la meilleure manière d’assurer une qualité constante pour vos applications web. Cela permet de détecter et empêcher les régressions ainsi que d’améliorer l’expérience utilisateur. Combiner un outil de CI/CD avec les bonnes pratiques de Continuous Delivery et de Continuous Deployment vous permettra de mettre à jour vos applications bien plus souvent et bien plus vite.
Cette formation vous donnera des bases solides afin de mettre en place cet outil et les bonnes pratiques associées.
I. Introduction et généralités
Règles
Méthodologie
Objectifs
II. Pratiques
Définitions
- Assurance Qualité (QA)
- Intégration Continue (CI)
- Livraison Continue (CD)
- Déploiement Continu
Comparaison
Limites de cas : le workflow de développement d’une librairie
III. Workflow
Modèle de branche
Versioning sémantique
Outil : Git-Flow
IV. Builds
Les objectifs des builds
Les dépendances des builds
- Les dépendances système
- Les dépendances de code
- Outils : Composer / Phing
V. Les Tests
Test d’acceptance
- Définition
- Outil : Behat
Test Unitaire
- Définition
- Outils : SimpleTest, PHPUnit, phpspec, Atoum
Pyramide de Test
Glossaire de la boîte à outil de test
- Fixture
- Stub
- Mock
VI. Déploiement
- Packaging
- Migration de dépendance
- Roll-back
VII. Automatisation
Pipeline de déploiement
L’outil de CI/CD qui sera utilisé pendant la formation est GitLab.