CICD pour les startups : quels sont les outils disponibles et pourquoi seules les grandes entreprises de renom les utilisent

Les développeurs d'outils CICD citent souvent de grandes entreprises comme clients - Microsoft, Oculus, Red Hat, voire Ferrari et la NASA. Il semblerait que ces marques ne fonctionnent qu'avec des systèmes coûteux qu'une startup composée de quelques développeurs et d'un concepteur ne peut pas se permettre. Mais une partie importante des outils est disponible pour les petites équipes.

Nous vous dirons ci-dessous à quoi vous pouvez prêter attention.

CICD pour les startups : quels sont les outils disponibles et pourquoi seules les grandes entreprises de renom les utilisent
Фото - Csaba Balazs - sans éclaboussures

Censure PHP

Un serveur CI open source qui facilite la création de projets en PHP. Ceci est un fork du projet PHPCI. PHPCI lui-même est encore en développement, mais pas aussi activement qu'auparavant.

PHP Censor peut fonctionner avec GitHub, GitLab, Mercurial et plusieurs autres référentiels. Pour tester le code, l'outil utilise les bibliothèques Atoum, PHP Spec, Behat, Codeception. Ici fichier exemple configurations pour le premier cas :

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

Considéréque PHP Censor est bien adapté au déploiement de petits projets, mais vous devrez l'héberger et le configurer vous-même (auto-hébergé). Cette tâche est simplifiée par une documentation assez détaillée - c'est sur GitHub.

Rex

Rex est l'abréviation de Remote Execution. Le système a été développé par l'ingénieur Ferenc Erki pour automatiser les processus dans le centre de données. Rex est basé sur des scripts Perl, mais il n'est pas nécessaire de connaître ce langage pour interagir avec l'outil - la plupart des opérations (par exemple, copier des fichiers) sont décrites dans la bibliothèque de fonctions et les scripts tiennent souvent sur dix lignes. Voici un exemple de connexion à plusieurs serveurs et d'exécution de la disponibilité :

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

Nous vous recommandons de commencer votre connaissance de l'outil avec guide officiel и livre électronique, qui est actuellement en cours d'achèvement.

Service de construction ouvert (OBS)

Il s'agit d'une plateforme d'optimisation du développement des distributions. Son code est ouvert et se trouve dans le référentiel à l'adresse GitHub. L'auteur de l'outil est l'entreprise Novell. Elle a participé au développement de la distribution SuSE, et ce projet s'appelait initialement openSUSE Build Service. Il n'est pas surprenant qu'Open Build Service utiliser pour la construction de projets dans openSUSE, Tizen et VideoLAN. Dell, SGI et Intel travaillent également avec l'outil. Mais parmi les utilisateurs réguliers, il existe aussi de petites startups. Surtout pour eux, les auteurs ont collecté (page 10) préconfiguré progiciel. Le système lui-même est entièrement gratuit : il vous suffit de dépenser de l'argent en hébergement ou en serveur matériel pour le déployer.

Mais tout au long de son existence, l’outil n’a jamais acquis une large communauté. Bien que il était fait partie du Linux Developer Network, responsable de la normalisation du système d'exploitation ouvert. Cela peut être difficile Trouvez la réponse à votre question sur les forums thématiques. Mais l'un des résidents de Quora a noté qu'en Discussion IRC Sur Freenode, les membres de la communauté répondent assez facilement. Le problème d'une petite communauté n'est pas mondial, puisque la solution à de nombreux problèmes a été décrite dans la documentation officielle (PDF et EPUB). Ibid. peut trouver meilleures pratiques pour travailler avec OBS (il existe des exemples et des cas).

Pont

Ouvrir l'outil (GitHub), qui automatise les tâches dans le centre de données et le cloud à l'aide de scripts. Un serveur de script spécial est responsable de leur exécution. On peut dire que Rundeck est une « fille » de la plateforme de gestion d'applications ControlTier. Rundeck s'en est séparé en 2010 et a acquis de nouvelles fonctionnalités, par exemple des intégrations avec Puppet, Chef, Git et Jenkins.

Le système est utilisé dans The Walt Disney Company, Salesforce и Ticketmaster. Mais le projet convient également aux startups. En effet, Rundeck est sous licence Apache v2.0. De plus, l’outil est assez simple à utiliser.

Un résident de Reddit qui a travaillé avec Rundeck, dit, qui a résolu la plupart des difficultés par moi-même. Ils l'ont aidé avec ça documentation et livres électroniques, publié par les développeurs.

Vous pouvez également trouver de brefs guides de configuration de l’outil en ligne :

Aller au CD

Ouvrir l'outil (GitHub) automatisant le contrôle de version du code. Il a été introduit en 2007 par la société ThoughtWorks — alors le projet s'appelait Cruise.

GoCD est utilisé par les ingénieurs du site de vente de voitures en ligne AutoTrader, du service de généalogie Ancestry et du fournisseur de cartes de crédit Barclaycard. Cependant, un quart des utilisateurs de l'outil constitue une petite entreprise.

La popularité du service auprès des startups s'explique par son ouverture : il est distribué sous licence Apache v2.0. En même temps, GoCD Il a plugins pour l'intégration avec des logiciels tiers - systèmes d'autorisation et solutions cloud. Vrai système assez compliqué en maîtrise - il compte un grand nombre d'opérateurs et d'équipes. De plus, certains utilisateurs se plaignent de la mauvaise interface et besoin configurer les agents pour la mise à l'échelle.

CICD pour les startups : quels sont les outils disponibles et pourquoi seules les grandes entreprises de renom les utilisent
Фото - Matt Wildbore - sans éclaboussures

Si vous souhaitez essayer GoCD en pratique, vous pouvez trouver sur le site du projet documentation officielle. Il peut également être recommandé comme source d’informations complémentaires Blog des développeurs GoCD avec manuels lors de la configuration.

Jenkins

Jenkins est largement connu et considéré une sorte de standard dans le domaine du CICD - bien entendu, sans lui, cette sélection ne serait pas entièrement complète. L'outil est apparu en 2011, étang un fork du Project Hudson d'Oracle.

Aujourd'hui avec Jenkins travailler à la NASA, à Nintendo et dans d'autres grandes organisations. Cependant % plus 8 les utilisateurs représentent de petites équipes pouvant aller jusqu'à dix personnes. Le produit est entièrement gratuit et distribué sous licence MIT. Cependant, vous devrez héberger et configurer Jenkins vous-même – cela nécessite un serveur dédié.

Tout au long de l'existence de l'instrument, une large communauté s'est formée autour de lui. Les utilisateurs communiquent activement dans les fils de discussion sur Reddit и Google Groupes. Des documents sur Jenkins apparaissent également régulièrement sur Habré. Si vous souhaitez faire partie de la communauté et commencer à travailler avec Jenkins, il existe documentation officielle и guide du développeur. Nous recommandons également les guides et livres suivants :

Jenkins a plusieurs projets parallèles utiles. Le premier est un plugin Configuration en tant que code. Cela facilite la configuration de Jenkins grâce à des API faciles à lire que même les administrateurs sans connaissance approfondie de l'outil peuvent comprendre. Le deuxième est le système Jenkins X pour le nuage. Il accélère la livraison des applications déployées sur une infrastructure informatique à grande échelle en automatisant certaines tâches de routine.

Robot de construction

Il s'agit d'un système d'intégration continue permettant d'automatiser le cycle de création et de test des applications. Il vérifie automatiquement la fonctionnalité du code chaque fois que des modifications y sont apportées.

L'auteur de l'outil était l'ingénieur Brian Warner. Aujourd'hui, il est de service changé le groupe d'initiative Buildbot Oversight Committee, qui comprend six développeurs.

Robot de construction d'occasion des projets tels que LLVM, MariaDB, Blender et Dr.Web. Mais il est également utilisé dans des projets plus petits comme wxWidgets et Flathub. Le système prend en charge tous les VCS modernes et dispose de paramètres de construction flexibles en utilisant Python pour les décrire. Cela vous aidera à les gérer tous. documentation officielle et des tutoriels tiers, par exemple, en voici un court Manuel IBM.

Bien sûr, ce n'est pas tout Des outils DevOps auxquels les petites organisations et les startups devraient prêter attention. Donnez vos outils préférés dans les commentaires et nous essaierons d'en parler dans l'un des documents suivants.

Ce que nous écrivons sur le blog d'entreprise :

Source: habr.com

Ajouter un commentaire