Os desenvolvedores de ferramentas CI \ CD geralmente indicam grandes empresas como Microsoft, Oculus, Red Hat, até Ferrari e NASA como clientes. Parece que essas marcas funcionam apenas com sistemas caros que uma inicialização condicional de alguns desenvolvedores e um designer não pode pagar. Mas uma parte significativa das ferramentas está disponível para equipes pequenas.
No que você pode prestar atenção - contaremos mais.
Fotos - Csaba Balazs - Unsplash
Um servidor de IC de código aberto que facilita a criação de projetos PHP. Este é um garfo do projeto
PHPCI . O próprio PHPCI ainda está em desenvolvimento, mas não tão ativamente quanto antes.
O PHP Censor pode trabalhar com os repositórios GitHub, GitLab, Mercurial e vários outros. Para testar o código, a ferramenta usa as bibliotecas Atoum, PHP Spec, Behat, Codeception. Aqui está
um exemplo de arquivo de configuração 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"
Acredita-se que o PHP Censor não seja ruim para a implantação de pequenos projetos, mas você precisará hospedá-lo e configurá-lo você mesmo (auto-hospedado). Esta tarefa é simplificada por documentação bastante detalhada -
está no GitHub .
Rex é a abreviação de Execução Remota. O sistema foi desenvolvido pelo engenheiro Ferenc Erki para automatizar processos no data center. O trabalho do 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) é descrita na biblioteca de funções, e os scripts geralmente se encaixam em dez linhas. Aqui está um exemplo para efetuar 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 iniciar o seu conhecimento com a ferramenta a partir do
guia oficial e do
e-book , que está sendo adicionado atualmente.
Esta é uma plataforma para otimizar o desenvolvimento da distribuição. Seu código é aberto e fica no repositório no
GitHub . O autor da ferramenta é
Novell . Ela participou do desenvolvimento da distribuição SuSE, e esse projeto foi originalmente chamado de openSUSE Build Service. Não é de surpreender que o Open Build Service seja
usado para criar projetos no openSUSE, Tizen e VideoLAN. A ferramenta também funciona com Dell, SGI e Intel. Mas existem entre usuários regulares e pequenas startups. Especialmente para eles, os autores coletaram (
p. 10 ) um
pacote de software pré-configurado. O sistema em si é totalmente gratuito - você só precisa gastar dinheiro em uma hospedagem ou servidor de ferro para implantá-lo.
Mas, durante todo o tempo de sua existência, a ferramenta não adquiriu uma ampla comunidade. Apesar de
fazer parte da Linux Developer Network, responsável pela padronização do sistema operacional aberto.
Pode ser difícil encontrar uma resposta para uma pergunta nos fóruns de tópicos. Mas um dos moradores de Quora observou que, no
bate -
papo do
IRC em Freenode, os membros da comunidade respondem de bom grado. O problema da pequena comunidade não é global, pois a solução para muitos problemas está descrita
na documentação oficial (PDF e EPUB). Lá você
encontra práticas recomendadas para trabalhar com OBS (há exemplos e casos).
Uma ferramenta aberta (
GitHub ) que automatiza tarefas no datacenter e na nuvem usando scripts. Um servidor de script especial é responsável por sua execução. Podemos dizer que Rundeck é a "filha" da plataforma para gerenciar aplicativos ControlTier. Rundeck se separou dele em 2010 e adquiriu novas funcionalidades - por exemplo, integrações com Puppet, Chef, Git e Jenkins.
O sistema é usado pela The Walt Disney Company , Salesforce e Ticketmaster . Mas o projeto também é adequado para startups. Isso ocorre porque o Rundeck é licenciado sob a licença Apache v2.0. Além disso, a ferramenta é bastante fácil de usar.
Um morador do Reddit que trabalhou com Rundeck
diz que resolveu a maioria das dificuldades por conta própria. Com isso, a
documentação e os e-books publicados pelos desenvolvedores o ajudaram.
Você também pode encontrar guias rápidos sobre como configurar a ferramenta online:
Uma ferramenta aberta (
GitHub ) automatiza o controle de versão do código. Foi introduzido em 2007 pela
ThoughtWorks - então o projeto foi chamado Cruise.
O AutoCD Autoder, um serviço de genealogia da ancestralidade, e o Barclaycard, um provedor de cartões de crédito, trabalham com o GoCD. No entanto, um quarto dos usuários da ferramenta
são pequenas empresas .
A popularidade do serviço entre as startups pode ser explicada por sua abertura - ele é distribuído sob a licença Apache v2.0. Ao mesmo tempo, o GoCD
possui plugins para integração com software de terceiros - sistemas de autorização e soluções em nuvem. É verdade que o sistema é
bastante difícil de dominar - possui um grande número de operadores e equipes. Além disso, alguns usuários reclamam da interface ruim e da
necessidade de configurar agentes para dimensionamento.
Fotos - Matt Wildbore - UnsplashSe você quiser experimentar o GoCD na prática, pode encontrar
a documentação oficial no site do projeto. Você também pode recomendar o
Blog do desenvolvedor do
GoCD com guias de
personalização como fonte de informações adicionais.
Jenkins é amplamente conhecido e
considerado um tipo de padrão no campo da CI \ CD - é claro, sem ele essa seleção não estaria completa. A ferramenta surgiu em 2011,
tornando-se uma filial do projeto Hudson da Oracle.
Hoje, eles
trabalham com Jenkins na NASA, Nintendo e outras grandes organizações. No entanto,
mais de 8% dos usuários são pequenos grupos de até dez pessoas. O produto é totalmente gratuito e distribuído
sob a licença MIT . No entanto, você precisará hospedar e configurar o Jenkins - ele requer um servidor dedicado.
Durante toda a vida do instrumento, uma extensa comunidade se formou em torno dele. Os usuários se comunicam ativamente em tópicos no
Reddit e nos
Grupos do Google . Os materiais sobre Jenkins também aparecem regularmente em Habré. Se você deseja fazer parte da comunidade e começar a usar o Jenkins, há
documentação oficial e um
guia dos desenvolvedores . Também recomendamos os seguintes guias e livros:
Jenkins tem alguns projetos úteis de terceiros. O primeiro é o plugin
Configuration as Code . Ele simplifica a configuração do Jenkins com APIs legíveis que são compreensíveis até para administradores sem um conhecimento profundo da ferramenta. O segundo é o sistema de nuvens
Jenkins X. Ele acelera a entrega de aplicativos implantados em uma infraestrutura de TI em larga escala, automatizando algumas tarefas rotineiras.
Este é um sistema de integração contínua para automatizar o ciclo de montagem e teste de aplicativos. Ele verifica automaticamente a funcionalidade do código toda vez que são feitas alterações nele.
O autor da ferramenta foi o engenheiro Brian Warner (Brian Warner). Hoje ele foi
substituído pelo grupo de iniciativa do Comitê de Supervisão Buildbot, que inclui seis desenvolvedores.
O Buildbot é
usado por 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 compilação flexíveis através do uso de Python para descrevê-los. A
documentação oficial e os tutoriais de terceiros ajudarão você a lidar com todos eles, por exemplo, aqui está um
guia rápido
da IBM .
Obviamente, essas não são todas as ferramentas do DevOps às quais pequenas organizações e startups devem prestar atenção. Dê suas ferramentas favoritas nos comentários, e tentaremos falar sobre elas em um dos seguintes materiais.
Sobre o que escrevemos em um blog corporativo: