Lab 5.2: Como criar runners pelo BotCity SDK e ativar utilizando Docker
O que é docker
O Docker é uma plataforma que permite criar, distribuir e executar aplicativos em contêineres.
Saiba mais
O que são contêineres?
Contêineres são como "caixinhas" que empacotam tudo o que um aplicativo precisa para rodar: código, bibliotecas, dependências, entre outros. Isso garante que o aplicativo funcione da mesma forma em qualquer ambiente, seja no seu computador, em um servidor ou na nuvem.
Principais utilidades do Docker:
a) Portabilidade: Você pode mover contêineres entre diferentes ambientes sem se preocupar com problemas de compatibilidade.
b) Isolamento: Cada contêiner é isolado, o que evita conflitos entre aplicativos, versionamento de dependências e afins.
c) Eficiência: Contêineres são leves e iniciam rapidamente, economizando recursos.
d) Facilidade de Deploy: Simplifica o processo de colocar aplicativos em produção.
O Docker é muito útil para desenvolvedores e equipes de TI que buscam agilidade e consistência no desenvolvimento e na implantação de software. Por ser Open Source, é fortemente utilizado na indústria e tem ampla comunidade de usuários.
Criando instancias de Runner no Orquestrador
Com o Docker podemos executar Runners em contêineres, o que nos permite ter alta disponibilidade e escalabilidade no processamento de tarefas.
Vamos criar três Runners no Orquestrador, que serão responsáveis por executar as tarefas de automação do projeto, os quais serão chamados de RUNNER_01, RUNNER_02 e RUNNER_03.
No menu lateral do Orquestrador, clique em Runners para acessar a página de Runners. Crie um novo Runner clicando no botão + Novo Runner no canto superior esquerdo.
Preencha o formulário com as informações necessárias e clique em Criar.
Label: ID do Runner
Nome: Nome do Runner
Acesso Remoto: Caso tenha algum IP específico para acesso remoto, informe aqui.
Tipo: Selecione o tipo de Runner que deseja criar.
Status: Selecione o status do Runner.
Aqui está um exemplo de como criar um Runner:
Repita o processo criando os Runners: RUNNER_01, RUNNER_02 e RUNNER_03.
Imagens disponíveis
A BotCity possui algumas imagens prontas para uso. Para este laboratório, utilizaremos a imagem botcity/botcity-python-web-chrome, que contém o ambiente necessário para executar tarefas de automação web.
Para utilizar uma das imagens disponíveis, vamos até o Docker Hub e procuramos pela imagem desejada.
Em seguida utilizamos o comando docker pull para baixar a imagem:
docker pull botcity/botcity-python-web-chrome
Ativando Runner
O Runner pode executar tarefas de automação nesse contêiner, para isso vamos utilizar o Docker Compose para ativá-lo.
O que é Docker Compose?
Docker Compose é uma ferramenta que permite gerenciar múltiplos contêineres Docker de forma fácil e organizada. Ele usa um arquivo chamado docker-compose.yml, onde se define todos os serviços, redes e volumes necessários para rodar sua aplicação.
As vantagens de utilizar o Docker compose são:
Simplificar o gerenciamento, pois, em vez de rodar vários comandos Docker manualmente, você usa um único comando docker-compose up para iniciar todos os contêineres, e centraliza as configurações dos contêineres em um único arquivo.
Facilitar a configuração de aplicações com múltiplos serviços (ex.: banco de dados, backend, frontend) que precisam trabalhar juntos.
Ambientes consistentes: Garante que todos os desenvolvedores usem a mesma configuração, evitando problema de "funciona na minha máquina".
Criando Docker Compose
Para ativar os Runners criados, vamos criar o arquivo compose.yml com as configurações necessárias para cada Runner.
Lembre-se de substituir os valores de SERVER, LOGIN e KEY para os respectivos valores de seu Workspace. Para obter o Login e a Key de seu orquestrador, acesse o Amb. de Desenvolvedor do seu Workspace.
Iniciando Runners
Com o arquivo compose devidamente configurado e a imagem pronta, abra o terminal no diretório onde o arquivo compose.yml foi salvo e execute o seguinte comando:
docker-compose up
No terminal, aparecerá o log de cada um dos Runners configurados, indicando que estão prontos para receber tarefas.
Perceba que os itens destacados indicam que ambos os serviços criados no arquivo compose, chamados docker-1, docker-2 e docker-3, foram inicializados e os seus respectivos Runners estão ativos, aguardando tarefas para executarem, já que a mensagem "Waiting new tasks" foi exposta no terminal.
No orquestrador, podemos confirmar se os Runners criados estão ativos no menu lateral Runners e verificando o status com a esfera verde, semelhante a imagem abaixo:
Com os runners criados e ativados, podemos seguir com a implantação do projeto no Orquestrador.
Dica
Automações Web devem estar configuradas com o modo headless para funcionar corretamente.
Para automações que necessitam de interface gráfica, veja a imagem botcity-python-desktop.