Skip to content

Latest commit

 

History

History
279 lines (223 loc) · 11.7 KB

basic-ci_FR.md

File metadata and controls

279 lines (223 loc) · 11.7 KB

L'intégration continue avec CodeShip

Objectif : ce tutoriel présente les premières étapes pour mettre en place une intégration continue avec CodeShip sur un de vos projets. Il vous permettra de créer l'environnement nécessaire pour lancer une suite de tests à chaque nouveau commit sur une branche nouvelle ou existante de votre projet.

Niveau : débutant.

Pré-requis : un compte GitHub.

Sommaire

Création du compte CodeShip

  1. Allez sur l'url https://app.codeship.com/sessions/new et connectez-vous avec votre compte GitHub:

    Screenshot 2019-08-11 at 19 00 39

  2. Dans la fenêtre de permission, autorisez l'application CodeShip :

    Screenshot 2019-10-10 at 21 02 58

  3. Créez votre organisation en lui donnant le nom que vous souhaitez et cliquez sur Create Organisation :

    Screenshot 2019-10-10 at 21 04 55

Ajout d'un projet

Pour permettre à CodeShip de se lancer régulièrement en fonction de nouveaux commits sur votre projet, il faut paramétrer une connexion entre CodeShip et votre dépôt Git sur GitHub.

  1. Pour ajouter un projet dans CodeShip, allez sur l'url https://app.codeship.com/projects et cliquez sur le bouton New project en haut à droite de votre fenêtre :

    Screenshot 2019-08-11 at 18 54 37

  2. Choisissez l'option GitHub comme source de votre projet :

    Screenshot 2019-08-11 at 19 19 03

  3. Installez l'application GitHub pour CodeShip en cliquant sur le lien install our GitHub App :

    Screenshot 2019-10-10 at 21 10 14

  4. Dans la fenêtre de permission pour ajouter l'application CodeShip, renseignez le dépôt Git que nous venons de forker et validez l'installation :

    Screenshot 2019-10-10 at 21 13 29

  5. Sélectionnez votre organisation et votre dépôt Git. Puis, cliquez sur Connect :

    Screenshot 2019-08-11 at 18 53 46

  6. Puis, choisissez l'option de base pour le type de projet :

    Screenshot 2019-08-11 at 18 54 53

L'offre basique de CodeShip va nous permettre de lancer nos tests sur une machine Ubuntu avec plusieurs langages par défaut installés dessus.

Configuration du CI

L'un des points importants pour mettre en place une intégration continue sur un projet, c'est d'avoir une suite de tests solides à lancer sur un environnement donné. Il faut donc pouvoir installer l'environnement que l'on veut sur CodeShip, ainsi que lancer les tests nécessaires.

  1. Dans un premier temps, nous allons indiquer à CodeShip quelles commandes sont nécessaires pour installer les dépendances de notre application, comme vous l'avez fait précédemment pour votre environnement de développement. Pour cela, dans la section Setup commands, écrivez :

    bin/install
    

    Screenshot 2019-08-11 at 18 55 21

  1. Ensuite, nous allons créer un "pipeline". Dans CodeShip, un "pipeline" est un ensemble de commandes qui sont lancés à chaque fois qu'une modification apparait sur votre dépôt Git (nouvelle branche, nouveau commit, etc.). Pour cela, cliquez sur le lien Add pipeline et donnez un nom à votre "pipeline" :

    Screenshot 2019-08-11 at 18 55 41

  2. Puis, cliquez sur le lien Save changes :

    Screenshot 2019-08-11 at 18 55 59

  3. Un nouveau panneau avec votre "pipeline" a été créé. Dans ce dernier, écrivez la commande pour lancer les tests sur notre projet :

    bundle exec rspec hello_world_spec.rb
    

    Screenshot 2019-08-11 at 19 37 24

  4. Puis, cliquez sur Save and go to dashboard :

    Screenshot 2019-08-11 at 19 39 34

Vérification de l'implémentation sur CodeShip

La configuration de votre intégration continue de base est prête !

Maintenant les développeurs et développeuses peuvent fixer rapidement des conflits et les ajouter le plus vite possible sur la base de code commune, à savoir la branche master dans la plupart des cas.

Pour comprendre son impact direct sur un projet, nous allons créer ensemble une pull request, vérifier l'exécution de CodeShip dessus et merger cette pull request dans master.

  1. En local (ou sur Codeanywhere), créez une nouvelle branche update-readme sur votre dépôt :

    git checkout -b update-readme
  2. Avec votre éditeur préféré, ajoutez une modification sur le fichier README.md (sur Codeanywhere, il suffit de double-cliquer sur le fichier pour pouvoir l'éditer):

    Screenshot 2019-10-06 at 16 13 02

  3. Ajoutez votre modification et poussez-la sur le dépôt distant sur GitHub :

    git add README.md
    git commit -m 'Update README :sunflower:'
    git push origin update-readme
  4. Sur GitHub, lancez la création d'une nouvelle pull request à partir de cette nouvelle branche :

    Screenshot 2019-10-06 at 16 22 27

  5. Utilisez la branche master de votre propre dépôt pour créer cette pull request :

    Screenshot 2019-10-06 at 16 36 00

  6. Créez votre pull request :

    Screenshot 2019-10-06 at 16 33 42 2

  7. Sur votre pull request, vous pouvez voir un nouvel encart qui liste ce que GitHub appelle les "checks". Ces "checks" correspondent à toutes les étapes de CI que vous allez connecter à votre dépôt. Vous pouvez cliquer sur Show all checks pour voir le CI CodeShip que vous venez de connecter :

    Screenshot 2019-10-06 at 16 44 46

  8. En cliquant sur le lien Details, vous serez redirigé sur CodeShip pour accéder au déroulement des différentes étapes que vous avez configuré pour votre intégration continue :

    Screenshot 2019-10-06 at 16 44 01

  9. Sur CodeShip, l'interface vous liste toutes les commandes lancées pour construire votre application et lancer les tests :

    Screenshot 2019-10-06 at 16 18 26

  10. Retournez sur votre interface CodeShip et cliquez sur l'onglet Builds dans le menu. Vous pouvez voir votre build soit en cours d'exécution, soit en réussi.

Screenshot 2019-10-06 at 16 15 54

Screenshot 2019-10-06 at 16 19 47

  1. Retournez sur votre pull request sur GitHub. Vous pouvez y voir également directement l'état de votre build :

    Screenshot 2019-10-06 at 16 54 25

  2. Maintenant que vous êtes assurés que votre pull request n'a pas de conflit avec la branche master et qu'elle passe bien tous vos tests de façon automatique, vous savez que vous pouvez merger votre pull request en toute tranquilité. Cliquez sur Merge pull request :

    Screenshot 2019-10-06 at 16 57 03

  3. Retournez sur l'interface CodeShip et cliquez sur l'onglet Builds. Vous pouvez voir qu'un nouveau build s'est lancé sur la branche master comme vous venez de merger votre pull request :

    Screenshot 2019-10-06 at 16 58 47

Voilà ! Vous avez maintenant une intégration continue sur votre projet. Vous pouvez l'améliorer en y ajoutant d'autres étapes (linting, convention de code, etc.), reprendre ce tutoriel pour l'adapter à votre propre projet ou vous plonger dans les autres modules de ce dépôt pour découvrir d'autres outils ou creuser davantage les concepts liés à l'intégration continue.

Ressources :