CICD para startups: que ferramentas hai e por que non só as utilizan as grandes e coñecidas empresas

Os desenvolvedores de ferramentas CICD adoitan enumerar grandes empresas como clientes: Microsoft, Oculus, Red Hat, incluso Ferrari e NASA. Parece que tales marcas só funcionan con sistemas caros que unha startup formada por un par de desenvolvedores e un deseñador non pode permitirse. Pero unha parte importante das ferramentas está dispoñible para equipos pequenos.

Dirémosche a que podes prestar atención a continuación.

CICD para startups: que ferramentas hai e por que non só as utilizan as grandes e coñecidas empresas
Фото - Csaba Balazs - Desarrollar

PHP Censor

Un servidor CI de código aberto que facilita a creación de proxectos en PHP. Esta é unha bifurcación do proxecto PHPCI. PHPCI aínda está a desenvolver, pero non tan activamente como antes.

PHP Censor pode funcionar con GitHub, GitLab, Mercurial e varios outros repositorios. Para probar o código, a ferramenta usa as bibliotecas Atoum, PHP Spec, Behat e Codeception. Aquí ficheiro de exemplo configuracións para o primeiro caso:

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

Considéraseque PHP Censor é moi axeitado para implementar pequenos proxectos, pero terás que aloxalo e configuralo por ti mesmo (autoaloxado). Esta tarefa está simplificada cunha documentación bastante detallada: está en GitHub.

Rex

Rex é a abreviatura de Remote Execution. O sistema foi desenvolvido polo enxeñeiro Ferenc Erki para automatizar os procesos no centro de datos. Rex baséase en scripts de Perl, pero non é necesario coñecer esta linguaxe para interactuar coa ferramenta: a maioría das operacións (por exemplo, copiar ficheiros) descríbense na biblioteca de funcións e os scripts a miúdo encaixan en dez liñas. Aquí tes un exemplo para iniciar sesión en varios servidores e executar o tempo de actividade:

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;
};

Recomendamos comezar a familiarizarse coa ferramenta con guía oficial и libro electrónico, que actualmente se está a rematar.

Servizo de construción aberta (OBS)

Esta é unha plataforma para optimizar o desenvolvemento das distribucións. O seu código está aberto e está no repositorio en GitHub. O autor da ferramenta é a empresa Novell. Participou no desenvolvemento da distribución SuSE, e este proxecto chamouse inicialmente openSUSE Build Service. Non é de estrañar que Open Build Service usar para construír proxectos en openSUSE, Tizen e VideoLAN. Dell, SGI e Intel tamén traballan coa ferramenta. Pero entre os usuarios habituais tamén hai pequenas startups. Especialmente para eles, os autores recolleron (páxina 10) preconfigurado paquete de software. O sistema en si é completamente gratuíto: só tes que gastar diñeiro en hospedaxe ou nun servidor de hardware para implementalo.

Pero ao longo da súa existencia, a ferramenta nunca adquiriu unha ampla comunidade. Aínda que foi parte da Linux Developer Network, responsable de estandarizar o sistema operativo aberto. Pode ser difícil Busca a resposta á túa pregunta nos foros temáticos. Pero un dos veciños de Quora sinalou que en Chat IRC En Freenode, os membros da comunidade responden con bastante facilidade. O problema dunha pequena comunidade non é global, xa que se describiu a solución a moitos problemas na documentación oficial (PDF e EPUB). Ibíd. pode atopar mellores prácticas para traballar con OBS (hai exemplos e casos).

Rundeck

Abrir ferramenta (GitHub), que automatiza tarefas no centro de datos e na nube mediante scripts. Un servidor de scripts especial é responsable da súa execución. Podemos dicir que Rundeck é unha "filla" da plataforma de xestión de aplicacións ControlTier. Rundeck separouse del en 2010 e adquiriu novas funcionalidades, por exemplo, integracións con Puppet, Chef, Git e Jenkins.

O sistema utilízase en A Walt Disney Company, Salesforce и Ticketmaster. Pero o proxecto tamén é axeitado para startups. Isto débese a que Rundeck ten licenza baixo a licenza Apache v2.0. Ademais, a ferramenta é bastante fácil de usar.

Un residente de Reddit que traballou con Rundeck, di, que resolveu a maioría das dificultades pola miña conta. Axudáronlle con isto documentación e libros electrónicos, publicado polos desenvolvedores.

Tamén podes atopar breves guías para configurar a ferramenta en liña:

GoCD

Abrir ferramenta (GitHub) automatizar o control de versións do código. Foi introducido en 2007 pola empresa ThoughtWorks — entón o proxecto chamábase Cruise.

GoCD é usado polos enxeñeiros do sitio de venda de coches en liña AutoTrader, o servizo de xenealoxía Ancestry e o provedor de tarxetas de crédito Barclaycard. Con todo, unha cuarta parte dos usuarios da ferramenta constitúe unha pequena empresa.

A popularidade do servizo entre as startups pódese explicar pola súa apertura: distribúese baixo a licenza Apache v2.0. Ao mesmo tempo, GoCD Ten complementos para a integración con software de terceiros: sistemas de autorización e solucións na nube. Sistema verdadeiro bastante complicado en mastering - ten un gran número de operadores e equipos. Ademais, algúns usuarios quéixanse da interface deficiente e necesidade configurar axentes para escalar.

CICD para startups: que ferramentas hai e por que non só as utilizan as grandes e coñecidas empresas
Фото - Matt Wildbore - Desarrollar

Se queres probar GoCD na práctica, podes atopalo na páxina web do proxecto documentación oficial. Tamén se pode recomendar como fonte de información adicional Blog de desenvolvedores de GoCD con manuais na configuración.

Jenkins

Jenkins é amplamente coñecido e considerado unha especie de estándar no campo do CICD - por suposto, sen el esta selección non estaría totalmente completa. A ferramenta apareceu en 2011, converténdose unha bifurcación do Proxecto Hudson de Oracle.

Hoxe con Jenkins работают na NASA, Nintendo e outras grandes organizacións. Porén máis do 8% os usuarios representan equipos pequenos de ata dez persoas. O produto é totalmente gratuíto e distribuído baixo licenza MIT. Non obstante, terás que aloxar e configurar Jenkins por ti mesmo: require un servidor dedicado.

Ao longo de toda a existencia do instrumento formouse ao seu redor unha gran comunidade. Os usuarios comunícanse activamente en fíos activados Reddit и Grupos de Google. Os materiais sobre Jenkins tamén aparecen regularmente en Habré. Se queres formar parte da comunidade e comezar a traballar con Jenkins, hai documentación oficial и guía para desenvolvedores. Tamén recomendamos as seguintes guías e libros:

Jenkins ten varios proxectos paralelos útiles. O primeiro é un complemento Configuración como Código. Facilita a configuración de Jenkins con API fáciles de ler que incluso os administradores sen coñecemento profundo da ferramenta poden entender. O segundo é o sistema Jenkins X para a nube. Acelera a entrega de aplicacións implantadas en infraestruturas de TI a gran escala automatizando algunhas tarefas rutineiras.

Buildbot

Este é un sistema de integración continua para automatizar o ciclo de creación e proba de aplicacións. Comproba automaticamente a funcionalidade do código cada vez que se fai algún cambio nel.

O autor da ferramenta foi o enxeñeiro Brian Warner. Hoxe está de servizo cambiado grupo de iniciativa Buildbot Supersight Committee, que inclúe seis desenvolvedores.

Buildbot se usa proxectos como LLVM, MariaDB, Blender e Dr.Web. Pero tamén se usa en proxectos máis pequenos como wxWidgets e Flathub. O sistema admite todos os VCS modernos e ten configuracións de compilación flexibles usando Python para describilos. Axudarache a tratar con todos eles. documentación oficial e titoriais de terceiros, por exemplo, aquí tes un breve Manual de IBM.

Por suposto, iso non é todo Ferramentas DevOps ás que deberían prestar atención as pequenas organizacións e startups. Deixa nos comentarios as túas ferramentas favoritas e tentaremos falar delas nalgún dos seguintes materiais.

Sobre o que escribimos no blog corporativo:

Fonte: www.habr.com

Engadir un comentario