Rultor é assistente da equipe DevOps. Ele ajuda seus programadores e gerentes de lançamento a automatizar operações de rotina (mesclagem, implantação e lançamento) com uma interface de chat-bot intuitiva e fácil de usar. Basta dizer @rultor hello
em qualquer problema do GitHub e a conversa começará.
A documentação completa está em doc.rultor.com
Esquema para arquivo .rultor.yml
Precisa de ajuda on-line? Experimente nosso grupo Telegram.
Estas postagens de blog podem ser úteis:
Rultor, um bot de fusão
Cada compilação em seu próprio contêiner Docker
A ramificação mestre deve ser somente leitura
Rultor + Travis
Assista a estes vídeos para entender para que serve o Rultor:
Os scripts de implantação estão mortos; Conheça o Rutor
DevOps Pro; Vilnius, Lituânia; 26 de maio de 2016
Um exemplo prático de liberação com um clique
DevOpsPro 2016; Moscou, Rússia; 15 de novembro de 2016
Arquitetura de chatbots
GeekOUT 2016; Tallinn, Estônia; 9 de junho de 2016
A imagem padrão do Docker é yegor256/rultor-image
Os scripts de implantação automatizada já existem há algum tempo. Rultor tenta resolver os problemas que esses scripts não resolvem.
O primeiro benefício do Rultor é que ele oferece isolamento do seu script de implantação em seu próprio ambiente virtual usando contêineres Docker. Isso reduz substancialmente a quantidade de estado externo que pode afetar sua construção e torna os erros mais facilmente reproduzíveis.
Além disso, devido à forma como o Rultor se integra aos rastreadores de problemas modernos, todos os logs são armazenados e publicados no ticket no qual o Rultor foi mencionado. Tornando informações vitais facilmente acessíveis a todos os desenvolvedores.
Rultor executa compilações pré-voo. Em vez de mesclar com o master e ver se suas alterações interromperam a compilação ou não, Rultor verifica o branch master, aplica suas alterações a ele e executa tudo o que foi configurado para executar. Se, e somente se, tudo correr bem, Rultor mescla as alterações no master. Isso evita programaticamente que o mestre seja quebrado pelos desenvolvedores. Não ter que se preocupar em quebrar a construção para todos os outros tem um impacto muito positivo na forma como os desenvolvedores escrevem código, aumentando sua produtividade e mitigando o medo de cometer erros.
Por último, Rultor fornece uma interface integrada e humanizada para ferramentas DevOps, já que uma frase legível é suficiente para desencadear uma fusão ou liberação.
Depois que o Rultor encontra um comando de mesclagem em uma de suas solicitações pull do GitHub, ele faz exatamente isso:
bundle test
.master
.bundle test
.master
modificado para o GitHub.Você pode vê-lo em ação, por exemplo, nesta solicitação pull: jcabi/jcabi-github#878.
Rultor espera que um servidor com Docker instalado esteja disponível. Ele faz login via SSH e inicia contêineres Docker para cada tarefa. É assim que você configura um servidor do zero (como root
no Ubuntu 20.04):
$ apt-get install -y bc
$ groupadd docker
$ adduser rultor
$ gpasswd -a rultor docker
$ echo 'rultor ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
$ mkdir /home/rultor/.ssh
$ cat > /home/rultor/.ssh/authorized_keys
$ chown rultor:rultor -R /home/rultor/.ssh
$ chmod 600 /home/rultor/.ssh/authorized_keys
Certifique-se de que b4.rultor.com
esteja apontando para o servidor. No momento, o aplicativo hospedado está funcionando apenas com um único servidor, por este nome de domínio específico.