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 incluír grandes empresas como clientes: Microsoft, Oculus, Red Hat e mesmo Ferrari e a NASA. Pode parecer que estas marcas só traballan con sistemas caros, fóra do alcance dunha startup formada por un par de desenvolvedores e un deseñador. Non obstante, un número significativo destas ferramentas tamén son accesibles para equipos máis pequenos.

A continuación, dirémosche a que debes prestar atención.

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

Censura de PHP

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

PHP Censor pode funcionar con GitHub, GitLab, Mercurial e outros repositorios. Para probas de código, a ferramenta usa as bibliotecas Atoum, PHP Spec, Behat e Codeception. 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érasePHP Censor é axeitado para implementar proxectos pequenos, pero terás que aloxarte e configuralo ti mesmo. Esta tarefa facilítase grazas á documentación bastante detallada: Está en GitHub..

Rex

Rex é un acrónimo de Execución Remota (Remote Execution). O sistema foi desenvolvido polo enxeñeiro Ferenc Erki para automatizar os procesos do centro de datos. Rex funciona mediante scripts Perl, pero non se require coñecemento desta linguaxe para interactuar coa ferramenta: a maioría das operacións (como copiar ficheiros) descríbense nunha biblioteca de funcións e os scripts adoitan ocupar 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;
};

Recomendámosche que comeces a coñecer o instrumento con guía oficial и libro electrónico, que está a ser rematada na actualidade.

Servizo de compilación aberta (OBS)

É unha plataforma para simplificar o desenvolvemento de distribucións. O seu código é de código aberto e pódese atopar no repositorio en GitHubO autor da ferramenta é a empresa NovellParticipou no desenvolvemento da distribución SuSE e, inicialmente, chamou ao proxecto openSUSE Build Service. Non é de estrañar que Open Build Service usar para crear proxectos en openSUSE, Tizen e VideoLAN. Dell, SGI e Intel tamén traballan coa ferramenta. Pero entre os seus usuarios habituais tamén hai pequenas empresas emerxentes. Os autores compilaron un especial (páxina 10) preconfigurado paquete de softwareO sistema en si é completamente gratuíto: só terás que gastar cartos en aloxamento ou nun servidor de hardware para despregalo.

Pero ao longo da súa existencia, a ferramenta nunca adquiriu unha ampla comunidade. Aínda que el estaba parte Linux Rede de Desenvolvedores, responsable da estandarización de sistemas operativos de código aberto. Pode ser difícil atopa a resposta á túa pregunta en foros temáticos. Pero un residente de Quora sinalou que en Chat de IRC En Freenode, os membros da comunidade están bastante dispostos a responder. O problema dunha comunidade pequena non é global, xa que se describiron solucións a moitos problemas. na documentación oficial (PDF e EPUB). Ibíd. pode atopar Boas prácticas para traballar con OBS (incluíndo exemplos e estudos de casos).

Cuberta de rodadura

Abrir ferramenta (GitHub), que automatiza tarefas no centro de datos e na nube mediante scripts. Un servidor de scripts dedicado é responsable da súa execución. Rundeck é esencialmente unha derivación da plataforma de xestión de aplicacións ControlTier. Rundeck bifurcou de ControlTier en 2010 e adquiriu novas funcionalidades, como integracións con Puppet, Chef, Git e Jenkins.

O sistema úsase en A Walt Disney Company, Salesforce и TicketmasterPero o proxecto tamén é axeitado para empresas emerxentes. Isto débese a que Rundeck distribúese baixo a licenza Apache v2.0. Ademais, a ferramenta é bastante doada de usar.

Un residente de Reddit que traballou con Rundeck, di, que resolveu a maioría dos problemas por si mesmo. Recibiu axuda con isto. documentación e libros electrónicos, publicado polos desenvolvedores.

Tamén podes atopar guías breves sobre a configuración da ferramenta en liña:

GoCD

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

Enxeñeiros da plataforma de venda de coches en liña AutoTrader, do servizo de xenealoxía Ancestry e do provedor de tarxetas de crédito Barclaycard traballan con GoCD. Non obstante, unha cuarta parte dos usuarios da ferramenta constitúe unha pequena empresa.

A popularidade do servizo entre as empresas emerxentes pódese atribuír á súa natureza de código aberto: 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 Pravda bastante complicado É unha curva de aprendizaxe: ten un gran número de operadores e comandos. Algúns usuarios tamén se queixan da mala interface e necesidade configurar axentes para escalabilidade.

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 no sitio web do proxecto. documentación oficialTamén podemos recomendar como fonte de información adicional Blog dos desenvolvedores de GoCD con manuais ao configurar.

Jenkins

Jenkins é amplamente coñecido e considerado unha especie de estándar na industria CICD; por suposto, sen el, esta colección non estaría 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. Non obstante, máis do 8% Os usuarios son pequenos equipos de ata dez persoas. O produto é completamente gratuíto e distribúese baixo a licenza do MITNon obstante, terás que aloxar e configurar Jenkins ti mesmo; require un servidor dedicado.

Ao longo da existencia da ferramenta, formouse unha gran comunidade ao seu redor. Os usuarios comunícanse activamente en fíos de conversa en Reddit и Grupos de GoogleOs materiais relacionados con Jenkins tamén aparecen regularmente en Habr. Se queres formar parte da comunidade e comezar con Jenkins, hai documentación oficial и guía do desenvolvedorTamén recomendamos as seguintes guías e libros:

Jenkins ten varios proxectos de terceiros útiles. O primeiro é un plugin Configuración como códigoSimplifica a configuración de Jenkins con API fáciles de ler que son comprensibles mesmo para administradores sen coñecementos profundos da ferramenta. O segundo é o sistema Jenkins X para a nube. Acelera a entrega de aplicacións despregadas en infraestruturas de TI a grande escala automatizando algunhas tarefas rutineiras.

Buildbot

Este é un sistema de integración continua para automatizar o ciclo de compilación e probas de aplicacións. Comproba automaticamente a funcionalidade do código cada vez que se realizan cambios nel.

A ferramenta foi creada polo enxeñeiro Brian Warner. Hoxe, el é o responsable cambiado O Comité de Supervisión de Buildbot, un grupo de iniciativa formado por seis desenvolvedores.

Buildbot se usa proxectos como LLVM, MariaDB, Blender e Dr.Web. Non obstante, tamén se usa en proxectos máis pequenos como wxWidgets e Flathub. O sistema admite todos os VCS modernos e ofrece configuracións de compilación flexibles grazas ao uso de Python para a súa descrición. Para comprendelos todos, consulta documentación oficial e titoriais de terceiros, por exemplo, aquí tes un breve Manual de IBM.

Por suposto, iso non é todo Ferramentas DevOps que paga a pena ter en conta para pequenas organizacións e startups. Comparte as túas favoritas nos comentarios e tentaremos incluílas nun futuro artigo.

Sobre o que escribimos no blog corporativo:

Fonte: www.habr.com

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster