Formation usine logicielle

Nous aimons construire des applications modernes en tirant parti des technos les plus adaptées et nous sommes ravis de le partager.

Formation : Usine logicielle

Objectifs

  • Automatiser le cycle de vie d'un produit
  • Améliorer la testabilité
  • Mesurer la qualité
  • Déployer en continu

Méthode pédagogique

Les participants auront à leur disposition un projet Java qu'ils auront à intégrer au sein d'une usine logicielle de façon itérative

Chaque projet fera l’objet d’une itération de 2H :

  • 20 min de présentation de l’itération : présentation de l’exercice et des concepts à utiliser.
  • 1h20 de pratique.
  • 20 min de rétrospective : présentation par les participants des difficultés rencontrées et de leur résolutions.

Au programme

Les outils de build automatisé

convention over configuration
La standardisation, un exemple avec maven
les causes d’échec d’adoption de maven

Maven : Les fondamentaux

cycle de vie
le fichier pom.xml
le packaging
le fichier settings.xml
les modules
la gestion des ressources (et le filtrage)
les profils

Repository et artefact

le repo local et le repo distant
l’artefact
présentation d’un repo d’entreprise : nexus
mettre en place nexus
brancher nexus sur ldap
mettre en place des proxy vers les repos externes
les virtual groups
la maintenance des snapshots (job de purge)
le plugin maven deploy pour stocker vos artefacts
le plugin maven release pour stocker vos artefacts, gérer leur version et s’intégrer avec votre gestionnaire de source
trouver un artefact sur mvnrepository et mvnbrowser

Gérer ses dépendances

la mauvaise gestion des dépendances, une cause d’échec de l’utilisation de maven
la transitivité
les scopes
la centralisation des versions (dependencymanagement et pluginmanagement)
le plugin dependency ou comment maintenir vos dépendances
les bonnes pratiques

Les tests

les différents type de test
le plugin surefire et les différents mode de fork
le plugin failsafe
le debugging
les tests évolué avec soapui, jmeter et gatling

Optimiser votre temps de build

Un principe, gardez votre temps de build unitaire < 10 min maximum
le build incrémental
la parralélisation des tests
le build différentiel et jenkins/bamboo, ou comment ne pas relancer les projets de génération de code systématiquement
lancer le packaging sur un build à part
attention à la surmodularisation

Automatisez votre build (jenkins ou bamboo)

mise en place
gestion des autorisations
les plugins vitaux
les notifications
la release
le reporting
le build distribué
les tâches pré et post builds

les plugins

le plugin tomcat et son mode debug
le plugin jaxws
le plugin jaxb
faire son propre plugin

L'intégration avec l'IDE

les différents modes : lancement de commande externe vs plugin
les limitations

le reporting

le plugin site
les plugins de qualimétrie (checkstyle, pmd/cpd, findbugs)
comment rassurer vos managers en leur donnant des métriques
mise en place de sonar
quelques widgets sonar
la mise en place de la couverture de code avec jacoco

Déployer en continu

Le plugin ssh
Rundeck et le plugin rundeck
Autres approches

Contactez nous