CICD para startups: quais ferramentas existem e por que não apenas grandes e conhecidas empresas as utilizam

Os desenvolvedores de ferramentas CICD geralmente listam grandes empresas como clientes – Microsoft, Oculus, Red Hat e até mesmo Ferrari e NASA. Parece que essas marcas só funcionam com sistemas caros que uma startup composta por alguns desenvolvedores e um designer não pode pagar. Mas uma parte significativa das ferramentas está disponível para equipes pequenas.

Diremos a você no que você pode prestar atenção a seguir.

CICD para startups: quais ferramentas existem e por que não apenas grandes e conhecidas empresas as utilizam
Фото - Csaba Balazs - Unsplash

Censor PHP

Um servidor CI de código aberto que facilita a construção de projetos em PHP. Este é um fork do projeto PHPCI. O próprio PHPCI ainda está em desenvolvimento, mas não tão ativamente como antes.

PHP Censor pode funcionar com GitHub, GitLab, Mercurial e vários outros repositórios. Para testar o código, a ferramenta utiliza as bibliotecas Atoum, PHP Spec, Behat, Codeception. Aqui arquivo de exemplo configurações 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"

Consideradoque o PHP Censor é adequado para implantar pequenos projetos, mas você mesmo terá que hospedá-lo e configurá-lo (auto-hospedado). Esta tarefa é simplificada por documentação bastante detalhada - está no GitHub.

Rex

Rex é a abreviatura de Execução Remota. O sistema foi desenvolvido pelo engenheiro Ferenc Erki para automatizar processos no data center. Rex é baseado em scripts Perl, mas não é necessário conhecer essa linguagem para interagir com a ferramenta - a maioria das operações (por exemplo, copiar arquivos) são descritas na biblioteca de funções, e os scripts geralmente cabem em dez linhas. Aqui está um exemplo para fazer login em vários servidores e executar o tempo de atividade:

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 começar a conhecer a ferramenta com guia oficial и e-book, que está em fase de conclusão.

Serviço de compilação aberto (OBS)

Esta é uma plataforma para otimizar o desenvolvimento de distribuições. Seu código é aberto e está no repositório em GitHub. O autor da ferramenta é a empresa Novell. Ela participou do desenvolvimento da distribuição SuSE, e este projeto foi inicialmente denominado openSUSE Build Service. Não é nenhuma surpresa que o Open Build Service usar para construção de projetos em openSUSE, Tizen e VideoLAN. Dell, SGI e Intel também trabalham com a ferramenta. Mas entre os usuários regulares também existem pequenas startups. Especialmente para eles, os autores coletaram (página 10) pré-configurado pacote de software. O sistema em si é totalmente gratuito - você só precisa gastar dinheiro em hospedagem ou em um servidor de hardware para implantá-lo.

Mas ao longo de sua existência, a ferramenta nunca conquistou uma ampla comunidade. Embora ele estava parte da Linux Developer Network, responsável por padronizar o sistema operacional aberto. Pode ser difícil Encontre a resposta para sua pergunta em fóruns temáticos. Mas um dos residentes do Quora observou que em Bate-papo IRC No Freenode, os membros da comunidade respondem prontamente. O problema de uma pequena comunidade não é global, pois a solução para muitos problemas foi descrita na documentação oficial (PDF e EPUB). Ibidem. pode encontrar melhores práticas para trabalhar com OBS (há exemplos e casos).

Deck de corrida

Ferramenta aberta (GitHub), que automatiza tarefas no data center e na nuvem usando scripts. Um servidor de script especial é responsável por sua execução. Podemos dizer que Rundeck é uma “filha” da plataforma de gerenciamento de aplicações ControlTier. Rundeck se separou dele em 2010 e adquiriu novas funcionalidades - por exemplo, integrações com Puppet, Chef, Git e Jenkins.

O sistema é usado em The Walt Disney Company, Salesforce и Ticketmaster. Mas o projeto também é adequado para startups. Isso ocorre porque o Rundeck está licenciado sob a licença Apache v2.0. Além disso, a ferramenta é bastante fácil de usar.

Um residente do Reddit que trabalhou com Rundeck, fala, que resolveu a maioria das dificuldades sozinho. Eles o ajudaram com isso documentação e e-books, publicado pelos desenvolvedores.

Você também pode encontrar breves guias para configurar a ferramenta online:

GoCDGenericName

Ferramenta aberta (GitHub) automatizando o controle de versão do código. Foi lançado em 2007 pela empresa ThoughtWorks - então o projeto se chamava Cruise.

GoCD é usado por engenheiros do site de vendas de carros on-line AutoTrader, do serviço de genealogia Ancestry e do provedor de cartão de crédito Barclaycard. No entanto, um quarto dos usuários de ferramentas constitui uma pequena empresa.

A popularidade do serviço entre as startups pode ser explicada pela sua abertura - ele é distribuído sob a licença Apache v2.0. Ao mesmo tempo, GoCD имеет plugins para integração com software de terceiros - sistemas de autorização e soluções em nuvem. Sistema verdadeiro bastante complicado na masterização - possui um grande número de operadores e equipes. Além disso, alguns usuários reclamam da interface ruim e necessidade configurar agentes para escalabilidade.

CICD para startups: quais ferramentas existem e por que não apenas grandes e conhecidas empresas as utilizam
Фото - Matt Wildbore - Unsplash

Se quiser experimentar o GoCD na prática, você pode encontrar no site do projeto documentação oficial. Também pode ser recomendado como fonte de informações adicionais Blog do desenvolvedor GoCD com manuais na configuração.

Jenkins

Jenkins é amplamente conhecido e considerado uma espécie de padrão na área de CICD - claro, sem ele esta seleção não estaria totalmente completa. A ferramenta surgiu em 2011, Lago um fork do Projeto Hudson da Oracle.

Hoje com Jenkins работают na NASA, Nintendo e outras grandes organizações. No entanto % mais 8 os usuários representam pequenas equipes de até dez pessoas. O produto é totalmente gratuito e distribuído sob licença do MIT. No entanto, você mesmo terá que hospedar e configurar o Jenkins - isso requer um servidor dedicado.

Ao longo de toda a existência do instrumento, uma grande comunidade se formou em torno dele. Os usuários se comunicam ativamente em tópicos em Reddit и Grupos do Google. Materiais sobre Jenkins também aparecem regularmente no Habré. Se você gostaria de fazer parte da comunidade e começar a trabalhar com Jenkins, há documentação oficial и guia do desenvolvedor. Também recomendamos os seguintes guias e livros:

Jenkins tem vários projetos paralelos úteis. O primeiro é um plugin Configuração como código. Facilita a configuração do Jenkins com APIs fáceis de ler que até mesmo administradores sem conhecimento profundo da ferramenta podem entender. O segundo é o sistema JenkinsX para a nuvem. Ele acelera a entrega de aplicativos implantados em infraestrutura de TI de grande escala, automatizando algumas tarefas rotineiras.

Construir bot

Este é um sistema de integração contínua para automatizar o ciclo de construção e teste de aplicativos. Ele verifica automaticamente a funcionalidade do código sempre que alguma alteração é feita nele.

O autor da ferramenta foi o engenheiro Brian Warner. Hoje ele está de plantão mudou o grupo de iniciativa do Buildbot Oversight Committee, que inclui seis desenvolvedores.

Construir bot usado projetos como LLVM, MariaDB, Blender e Dr.Web. Mas também é usado em projetos menores como wxWidgets e Flathub. O sistema suporta todos os VCS modernos e possui configurações de construção flexíveis usando Python para descrevê-los. Isso o ajudará a lidar com todos eles. documentação oficial e tutoriais de terceiros, por exemplo, aqui está um breve Manual IBM.

Naturalmente, Isso não é tudo Ferramentas DevOps às quais pequenas organizações e startups devem prestar atenção. Deixe suas ferramentas favoritas nos comentários e tentaremos falar sobre elas em um dos materiais a seguir.

Sobre o que escrevemos no blog corporativo:

Fonte: habr.com

Adicionar um comentário