Codification Intégration et livraison continues simplifiées

Ceci est la première d'une série sponsorisée en deux parties sur Codeship, le service sécurisé et d'intégration continue basé sur le cloud.. 

Qu'est-ce que la codification??

Codeship est un service de livraison continue hébergé qui met l'accent sur la rapidité, la fiabilité et la simplicité. Vous configurez Codeship pour créer et déployer votre application depuis GitHub sur la plate-forme intermédiaire ou de production de votre choix.. 

Le service offre une variété d'options de configuration puissantes. Actuellement, Codeship est intégré aux gestionnaires de code source populaires GitHub et Bitbucket. Il prend en charge divers langages de programmation (Ruby on Rails, Node.js, PHP, Java, Go, Dart, etc.) et des plateformes de déploiement (Amazon Web Services, Heroku, Google App Engine, etc.).

La pratique de l'intégration continue implique des tests automatisés répétés et une fusion de code avec des notifications pour alerter les développeurs des problèmes liés à leur code en temps réel. La codification combine cette pratique avec la pratique de la distribution continue, qui permet un déploiement régulier du code une fois que les modifications ont passé les tests automatisés..

Essentiellement, lorsque vous transmettez votre code à GitHub (ou Bitbucket), Codeship reconstruit votre application sur ses serveurs sécurisés et exécute vos tests automatisés. Si les tests échouent, il avertit votre équipe de développement par courrier électronique ou par intégration avec des services courants tels que Slack, HipChat, etc. Si vos tests réussissent, Codeship suit votre pipeline défini pour transférer le code sur des serveurs de transfert ou de production, comme spécifié..

Travailler avec un service tel que Codeship peut minimiser les retombées des bogues, accélérer leur détection et rendre votre équipe plus à l'aise et plus compétente pour apporter des améliorations incrémentielles régulières à votre plate-forme, en espérant améliorer votre réactivité à l'égard de vos clients et de votre marché..

La codification en code aide votre équipe à écrire et à déployer son code avec une confiance accrue. De plus, le blogue Codeship vous aide à vous mettre à niveau et à suivre les meilleures pratiques. L’équipe a également publié un article sur les bases de l’intégration continue que vous pouvez lire sur son site, ainsi que.

Dans ce didacticiel, je vais vous expliquer le produit Codeship, en expliquant comment commencer. Dans le prochain épisode, je détaillerai les capacités de déploiement de Codeship et leur nouvelle fonctionnalité, ParallelCI, qui permet d’accélérer vos suites de tests en les exécutant en parallèle..

Pour rappel, je participe aux discussions ci-dessous. Si vous avez une question ou une suggestion de sujet, veuillez poster un commentaire ci-dessous. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un email directement.

Prix ​​de codification

Le plan gratuit de Codeship permet 100 constructions par mois et cinq projets privés. Les constructions et projets illimités commencent à 49 $ par mois. Les plans annuels vous donnent deux mois gratuits.

Joliment, les projets éducatifs bénéficient d’une réduction de 50% et les projets open source peuvent utiliser Codeship gratuitement.

Si vous faites défiler l'écran jusqu'en bas de la page de tarification, vous pouvez cliquer sur le "bouton d'appel à l'action incroyablement énorme" de Codehip pour vous inscrire:

C'est bien qu'ils aient un bon sens de l'humour.

En savoir plus sur la livraison continue de Codeship

Lorsque vous vous inscrivez, vous pouvez vous ajouter au cours intensif de cinq jours basé sur le courrier électronique de Codeship, qui vous familiarise avec les concepts de base de l'intégration et de la livraison continues:

Voici un exemple de la première leçon email:

Vous pouvez également vous inscrire à leur excellent livre électronique: Efficacité des flux de travail de développement. Assurez-vous également de suivre le blog de Codeship.

Sécuriser votre code

La codification prend la sécurité au sérieux. Pour chaque projet ajouté à Codeship, ils créent une clé SSH unique, elle-même fortement cryptée et décryptée peu de temps avant d'être utilisée dans la machine virtuelle de génération. Pour chaque construction, ils démarrent une nouvelle machine virtuelle propre. Toutes les modifications que vous apportez (y compris les modifications du système de fichiers) sont stockées dans un disque mémoire qui est supprimé dès que votre construction est terminée (tests et déploiement). Aucune de vos données n'est jamais stockée sur un disque dur sur leurs serveurs de build.

Toutes les communications entre votre navigateur et le site web de Codeship sont cryptées SSL, de même que toutes les communications avec leur file d'attente openredis. Toutes les communications avec les machines virtuelles de génération se font via SSH.

Codeship ne lira jamais votre code s'il n'est pas explicitement demandé par vous. Cela peut arriver dans le cas d'une demande d'assistance ou si vous souhaitez que quelque chose soit débogué par leurs ingénieurs. Dans aucun autre cas, ils ne regarderont ce qui vous appartient, votre code. Seuls les employés à plein temps de Codeship ont déjà participé à cette activité de soutien - elle n’a jamais été externalisée..

Vous pouvez en savoir plus sur leurs processus de sécurité sur leur site web.

Débuter avec Codeship

Enregistrement et authentification

Vous pouvez vous inscrire avec Codeship en utilisant votre courrier électronique ou votre compte GitHub ou Bitbucket via OAuth:

Si vous utilisez GitHub ou Bitbucket, il vous sera demandé de vérifier l'accès à votre compte:

Une fois autorisé, vous retournerez à la page du tableau de bord et des projets de Codification. Il est temps d'ajouter notre premier projet:

Créez votre premier projet

Pour exécuter vos tests automatisés, Codeship doit extraire votre code de votre fournisseur de code source. Actuellement, ils supportent GitHub et Bitbucket, et d'autres sont prévus.

À tout moment, vous pouvez révoquer l'autorisation dans les paramètres de votre fournisseur de code source et supprimer les clés de déploiement et les points d'ancrage des services de Codeship des pages de configuration de vos projets..

L'idée derrière Codeship est de transférer le code des validations de vos développeurs vers votre gestionnaire de code source et d'exécuter vos tests automatisés dans le nuage sécurisé de Codeship. Si vos tests réussissent, Codeship continue avec vos instructions de déploiement. En cas d’échec, les notifications sont envoyées à votre équipe par courrier électronique ou via des services de communication tels que Slack et HipChat..

Connectez votre gestionnaire de code source

Pour ce tutoriel, j'ai créé la base de code Yii2 Framework pour PHP, qui comprend une variété de tests automatisés. La codification prend en charge une variété de langages de programmation, par exemple: Ruby on Rails, Node.js, PHP, Java, Go, Dart, etc..

Codeship charge mes dépôts de GitHub et je sélectionne simplement Yii2:

Ensuite, il me demandera de choisir ma technologie de plate-forme et de mettre en place des commandes de test..


Vous pouvez configurer Codeship à un niveau très détaillé, allant de besoins simples à des processus de construction sophistiqués au niveau de l'entreprise:

À des fins de démonstration, je vais ajouter des tests phpunit pour les fonctionnalités de base de Yii2:

En d'autres termes, chaque fois que j'appliquerai des mises à jour à mon référentiel GitHub (ou Bitbucket), Codeship exécutera des tests phpunit pour moi..

Voici à quoi ressemble la page du projet Codeship une fois celle-ci configurée:

Ensuite, je déclencherai une construction en envoyant une petite mise à jour dans mon référentiel. Observez la codification commence à construire mon code…

… Et passe ensuite à exécuter mes tests unitaires:

Une fois terminé, vous pouvez voir un rapport complet de toutes les étapes et indiquer si les tests ont réussi ou échoué..

Codeship maintient un journal de construction complet pour chaque projet:

Pipelines de déploiement

Vous pouvez choisir ce que Codeship fait avec votre code après vos tests. Par exemple, vous pouvez peut-être mettre à jour votre serveur de transfert pour des tests supplémentaires, ou peut-être tout déployer sur vos serveurs de production. La codification vous permet de définir des pipelines sophistiqués pour les tests et le déploiement..

Voici une vue détaillée du menu Paramètres du projet:

Voici les paramètres généraux de l’UUID de votre projet et la clé publique SSH pour les déploiements automatisés:

Les notifications

Vous pouvez configurer les notifications pour les activités de codification, par exemple erreurs de construction. Ceux-ci peuvent passer par des API ou une variété de services tiers, par exemple. Slack, Campfire, HipChat, etc.: 

Il existe également une extension gratuite de Chrome pour les notifications de construction de Codehip appelée Shipscope.

Et vous pouvez ajouter un badge de code à votre fichier lisez-moi pour indiquer la stabilité de commits spécifiques, afin que votre GitHub (ou Bitbucket) et les visiteurs de votre site Web puissent voir en temps réel si une version donnée a réussi ses tests automatisés..

La codification facilite l'ajout de votre équipe à vos projets.

Configurez vos déploiements

Codeship fournit une intégration de déploiement prête à l'emploi avec de nombreuses solutions d'hébergement populaires, notamment Google AppEngine, Code Deploy d'Amazon Web Services, Heroku, Engine Yard, Nodejitsu et bien plus encore..

Je vais approfondir le processus de déploiement dans le prochain épisode. Pour l'instant, vous pouvez consulter les tutoriels de Codeship pour différentes plates-formes.

Ils disposent d'une large gamme de documentation pour les options de déploiement continu:

Voici un petit guide sur la façon de déployer une application Ruby on Rails de GitHub à Heroku. La vidéo est présentée ci-dessous. Codeship propose un certain nombre de guides vidéo sur leur chaîne Vimeo.


 

Et après?

Dans le prochain tutoriel, je vais approfondir le déploiement avec Codeship et sa nouvelle fonctionnalité ParallelCI, qui vous permet d’accélérer vos suites de tests en les exécutant en parallèle..

N'hésitez pas à poster vos questions et commentaires ci-dessous. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un courriel directement. Vous pouvez également parcourir ma page d’instructeur Tuts + pour voir les autres tutoriels que j’ai écrits.. 

Liens connexes

  • Site de codification
  • Le blog de codification
  • Documentation de codification
  • Guides vidéo de codification
  • Efficacité des flux de travail de développement (eBook)