ProHoster > Blog > noticias de internet > CICD para startups: que ferramentas hai e por que non só as utilizan as grandes e coñecidas empresas
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.
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 é 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.
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).
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:
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.
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.
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.