Ir para o conteúdo

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:

Novo 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.

Veja na documentação da BotCity as imagens disponíveis e suas respectivas funcionalidades.

Utilizando uma imagem

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.

O compose ficará semelhante a esse:

version: "3.0"
services:
  docker-1:
    image: botcity/botcity-python-web-chrome
    command: BotRunner
    environment:
        SERVER: <SERVER>
        LOGIN: <LOGIN>
        KEY: <KEY>
        MACHINE_ID: RUNNER_01
  docker-2:
    image: botcity/botcity-python-web-chrome
    command: BotRunner
    environment:
        SERVER: <SERVER>
        LOGIN: <LOGIN>
        KEY: <KEY>
        MACHINE_ID: RUNNER_02
  docker-3:
    image: botcity/botcity-python-web-chrome
    command: BotRunner
    environment:
        SERVER: <SERVER>
        LOGIN: <LOGIN>
        KEY: <KEY>
        MACHINE_ID: RUNNER_03

Atenção

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.

Runners inicializados

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:

Confirmacao

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.