ProHoster > Blog > notícias da internet > CICD para startups: quais ferramentas existem e por que não apenas grandes e conhecidas empresas as utilizam
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.
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 é 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.
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).
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:
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.
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.
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.