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 travaillent qu'avec des systèmes coûteux, hors de portée d'une start-up composée de quelques développeurs et d'un designer. Pourtant, une part importante de ces outils est également accessible aux 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

Censeur PHP

Un serveur CI open source qui simplifie la création de projets PHP. Il s'agit d'un fork du projet. PHPCIPHPCI lui-même est toujours en développement, mais pas aussi activement qu'avant.

PHP Censor fonctionne avec GitHub, GitLab, Mercurial et plusieurs autres dépôts. L'outil utilise les bibliothèques Atoum, PHP Spec, Behat et Codeception pour tester le code. Ici. fichier d'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éPHP Censor est idéal pour déployer de petits projets, mais vous devrez l'héberger et le configurer vous-même (auto-hébergement). Cette tâche est facilitée par une documentation assez détaillée. c'est sur GitHub.

Rex

Rex est l'abréviation de Remote Execution. Ce système a été développé par l'ingénieur Ferenc Erki pour automatiser les processus d'un 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 (comme la copie de fichiers) sont décrites dans une bibliothèque de fonctions, et les scripts tiennent souvent sur dix lignes. Voici un exemple de connexion à plusieurs serveurs et d'exécution de uptime :

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 de finition.

Service de construction ouvert (OBS)

Il s'agit d'une plateforme d'optimisation du développement de distribution. Son code est ouvert et disponible dans le dépôt à l'adresse GitHubL'auteur de l'outil est l'entreprise NovellElle a participé au développement de la distribution SuSE, initialement appelée openSUSE Build Service. Il n'est donc pas surprenant qu'Open Build Service utiliser Pour la création de projets sous openSUSE, Tizen et VideoLAN. Dell, SGI et Intel utilisent également cet outil. Cependant, de petites startups comptent également parmi les utilisateurs réguliers. Les auteurs ont rassemblé (page 10) préconfiguré progicielLe système lui-même est entièrement gratuit : vous n'aurez qu'à dépenser de l'argent pour l'hébergement ou un serveur matériel pour son déploiement.

Mais tout au long de son existence, l'outil n'a jamais acquis une large communauté. il était une partie de Linux Réseau de développeurs, responsable de la normalisation des systèmes d'exploitation open source. Cela peut être difficile Trouvez une réponse à votre question sur les forums thématiques. Cependant, un membre de Quora a remarqué que Chat IRC Sur Freenode, les membres de la communauté répondent volontiers. Le problème d'une petite communauté n'est pas global, car des solutions à de nombreux problèmes sont décrites. dans la documentation officielle (PDF et EPUB). Ibid. peut trouver bonnes 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 scripts dédié est responsable de leur exécution. Rundeck est en quelque sorte 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, comme l'intégration avec Puppet, Chef, Git et Jenkins.

Le système est utilisé dans The Walt Disney Company, Salesforce и TicketmasterLe projet convient également aux startups, car Rundeck est distribué sous licence Apache v2.0. De plus, l'outil est très simple d'utilisation.

Un résident de Reddit qui a travaillé avec Rundeck, dit, qu'il a résolu la plupart des difficultés tout seul. Il a été aidé dans cette tâche. documentation et livres électroniques, publié par les développeurs.

Vous pouvez également trouver de courts guides sur la façon de configurer l'outil en ligne :

Aller au CD

Ouvrir l'outil (GitHub) un contrôle automatisé des versions de code. Ce système a été introduit en 2007 par l'entreprise. ThoughtWorks — alors le projet s’appelait Cruise.

Les ingénieurs du concessionnaire automobile en ligne AutoTrader, du service de généalogie Ancestry et du fournisseur de cartes de crédit Barclaycard travaillent avec GoCD. Cependant, un quart des utilisateurs de l'outil constitue une petite entreprise.

La popularité du service auprès des startups s'explique par son caractère ouvert : il est distribué sous licence Apache v2.0. Parallèlement, GoCD Il a Plugins d'intégration avec des logiciels tiers : systèmes d'autorisation et solutions cloud. Système Pravda. assez compliqué En développement ; il comporte un grand nombre d'opérateurs et de commandes. Certains utilisateurs se plaignent également de l'interface peu performante 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 tester GoCD en pratique, vous pouvez le trouver sur le site Web du projet documentation officielle. Comme source d'informations supplémentaires, nous pouvons également vous recommander Blog des développeurs GoCD avec manuels en définissant.

Jenkins

Jenkins est largement connu et considéré Une sorte de standard dans le domaine du CICD ; sans lui, cette sélection ne serait évidemment pas complète. L'outil est apparu en 2011. étang un fork du projet Hudson d'Oracle.

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

Depuis sa création, l'outil a vu naître une vaste communauté. Les utilisateurs communiquent activement dans des fils de discussion. Reddit и Google GroupesDes ressources Jenkins sont également régulièrement publiées sur Habr. Si vous souhaitez rejoindre la communauté et commencer à travailler avec Jenkins, voici un lien : documentation officielle и Manuel du développeurNous recommandons également les guides et livres suivants :

Jenkins propose plusieurs projets annexes utiles. Le premier est un plugin. Configuration en tant que codeIl simplifie la configuration de Jenkins grâce à des API faciles à comprendre, même pour les administrateurs sans connaissance approfondie de l'outil. Le deuxième avantage est le système. Jenkins X pour le cloud. Il accélère la livraison des applications déployées sur une infrastructure informatique à grande échelle en automatisant certaines tâches routinières.

Robot de construction

Il s'agit d'un système d'intégration continue permettant d'automatiser le cycle de développement et de test des applications. Il vérifie automatiquement la fonctionnalité du code à chaque modification.

Cet outil a été créé par l'ingénieur Brian Warner. Aujourd'hui, il est responsable de changé Le comité de surveillance de Buildbot, un groupe d'initiative qui comprend six développeurs.

Robot de construction d'occasion Des projets tels que LLVM, MariaDB, Blender et Dr.Web. Il est également utilisé dans des projets plus modestes comme wxWidgets et Flathub. Le système prend en charge tous les VCS modernes et offre des paramètres de construction flexibles grâce à l'utilisation de Python pour leur description. Pour les comprendre, consultez la page documentation officielle et des tutoriels tiers, par exemple, en voici un court Manuel IBM.

Bien sûr, ce n'est pas tout Outils DevOps à privilégier pour les petites entreprises et les startups. Partagez vos outils préférés dans les commentaires ; nous essaierons de les présenter dans l'un des articles suivants.

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

Source: habr.com

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster