Ir para o conteúdo

Orquestrando sua automação

Pré-requisitos

Visão Geral

A orquestração de automações permite gerenciar a execução de tarefas de forma automatizada, sendo capaz de isolar tarefas para que possam ser executadas sequencialmente.

O BotCity Maestro é uma plataforma de automação usada para apoiar o processo de desenvolvimento de bots e outros tipos de automações, permitindo a implantação e orquestração de processos em tempo de execução.

Ciclo de Vida

O processo de automação possui um ciclo de vida dividido em algumas etapas:

  • Preparação do Projeto: o desenvolvedor deve conhecer o fluxo de processamento.
  • Criando o Projeto: o desenvolvedor cria o projeto de automação, que pode ser em Python, Java, Javascript ou Typescript.
  • Desenvolvendo o Robô: o robô será desenvolvido nesta etapa.
  • Implantação no Maestro: após a conclusão do processo de build, o desenvolvedor enviará o robô para a plataforma e definirá qual versão será utilizada em produção.
  • Criando o Runner: o desenvolvedor irá criar o Runner responsável pelo processo.
  • Configurando o BotRunner: o desenvolvedor define o machineId na configuração do SDK.
  • Criando o Processo de Automação: o desenvolvedor irá criar a automação, selecionando o Runner que foi criado e o robô que foi implantado.
  • Iniciando o BotRunner: o desenvolvedor iniciará o BotRunner a partir do terminal.
  • Criando uma Tarefa: o desenvolvedor ou o usuário que será responsável pela execução do robô criará uma tarefa para o BotRunner executar.
  • Execução da Tarefa: o BotRunner irá executar a tarefa.

Criando um projeto

Para construir um bot precisamos criar um projeto na estrutura Java, Javascript ou Python que será utilizada para desenvolver o bot.

Para criar um novo projeto siga os tutoriais abaixo:

Importante

Além dos projetos que seguem um modelo, você também pode orquestrar seus próprios projetos customizados.

Veja mais detalhes sobre como orquestrar projetos customizados.

Info

Para este tutorial, usaremos um projeto Python Web Bot.

Construindo seu projeto

Para enviar o bot para o Maestro você precisa realizar o processo de "build" do projeto. Se você estiver no Windows, execute o arquivo build.bat no diretório raiz do projeto, caso contrário, execute o arquivo build.sh no Linux ou macOS.

.\build.bat
./build.sh

Dica

Se você receber um erro de permissão, certifique-se de que seu script build.sh tenha permissão de execução.

Você pode definir a permissão com o seguinte comando:

chmod +x build.sh

Projetos Java

Para projetos Java, utilize o arquivo .jar gerado na pasta dist/. Se dois arquivos .jar forem gerados, carregue o arquivo com jar-with-dependencies no nome.

Projetos Python

Para projetos Python, utilize o arquivo .zip ou .tar.gz gerado na pasta dist/.

Projetos Javascript

Para projetos Javascript, utilize um arquivo .zip contendo os arquivos do projeto, como bot.js, pasta resources e package.json.

Easy Deploy

Depois de construir o projeto, a próxima etapa é implantar a automação no BotCity Maestro.

A maneira mais fácil de fazer sua primeira implantação é por meio do recurso Easy Deploy do Maestro.

O processo do Easy Deploy é basicamente dividido em três etapas:

  1. Criando uma automação
  2. Implantando um bot
  3. Escolhendo onde executar

Primeiro Passo - Criando uma automação

O primeiro passo é preencher o nome do nosso processo de automação.

EasyDeploy

Info

Veja mais detalhes sobre o gerenciamento de Automações nessa seção.

Segundo Passo - Implantando um robô

O segundo passo é preencher as informações sobre o seu robô.

Você irá fazer o upload do arquivo referente ao robô, definir qual tecnologia está sendo utilizada e por fim o nome e a versão que deseja usar para a implantação.

EasyDeploy Step 2

Aviso para projetos legados

Para automações Python, se você estiver usando um modelo de projeto legado, o identificador do robô deve corresponder ao id definido na criação do projeto.

Se o nome gerado automaticamente não for igual ao ID do projeto criado, altere-o para que os identificadores correspondam.

Basicamente, o identificador do robô aparece no nome do arquivo .tar.gz gerado que está sendo usado.

Último Passo - Escolhendo onde executar

A terceira e última etapa é definir qual Runner será associado a esta automação.

Você pode selecionar um Runner criado anteriormente ou inserir um identificador para criar um novo.

EasyDeploy Step 3

Importante

No arquivo conf.bcf do BotCity Studio SDK, insira o ID do Runner que será utilizado.

machineId=vm-01  # <- your runner id here
logScreen=true
logApplication=true

Veja mais detalhes sobre a configuração do BotCity Studio SDK.

Info

Veja mais detalhes sobre o gerenciamento de Runners nessa seção.

Sucesso 🚀

Parabéns 🏆

Em poucos segundos você conseguiu configurar seu processo de automação, associá-lo ao seu robô e definir onde ele será executado.

Agora você tem a opção de criar uma nova tarefa para esta automação.

Ao fazer isso, uma nova tarefa será enfileirada e assim que o Runner associado à automação estiver ativo, a execução será iniciada automaticamente.

EasyDeploy NewTask

Nas próximas seções, abordaremos com mais detalhes como criar e executar tarefas.

Gerenciamento de Automações via BotCity Maestro

O processo de Easy Deploy é muito útil para a primeira implantação de nossa automação.

No entanto, em determinados momentos, podemos precisar implantar novas versões ou atualizar versões existentes de nosso robô associado à nossa automação.

O BotCity Maestro oferece diversos recursos para gerenciar nossas automações.

No menu Meus Robôs, você pode:

  • Implantar novos robôs e versões
  • Definir versões como "release" (versão de produção)
  • Atualizar o código do bot
  • Baixar o código do robô de uma determinada versão
  • Excluir um robô.

Bots

Atualizando seu robô

Você pode atualizar um robô simplesmente clicando no ícone de lápis no lado direito da linha associada à versão desejada do robô e selecionando um novo arquivo para substituir o atual.

Bot Update Icon

Dica

O arquivo selecionado será uma versão atualizada do arquivo gerado no processo de build.

Para gerar um novo arquivo, basta repetir o processo de construção após atualizar o código do robô.

Bot Update

Implantando uma nova versão do robô

Você pode implantar um novo robô ou uma nova versão de um robô existente simplesmente clicando no botão Deploy e preenchendo o formulário com o Bot ID, versão, arquivo e tecnologia usados.

Bot Deploy

Definindo uma versão de produção

Você pode definir a versão que será usada em produção simplesmente clicando no ícone da faixa de opções (destacado pela seta vermelha abaixo). A versão marcada como "release" será a versão do robô que será utilizada no momento da execução.

Bot Release

Info

Veja mais detalhes sobre o gerenciamento de robôs nessa seção.

Gerenciando tarefas

Tarefas são instâncias de uma automação que são criadas pelo usuário por meio da interface de usuário no Maestro, BotCity CLI, SDK do Maestro ou API do Maestro.

Página de criação de tarefas

Você pode criar uma tarefa por meio da página de criação de tarefas no Maestro.

Basta clicar no botão Nova Tarefa referente ao processo de automação que deseja executar.

New Task

Dica

A Automação criada no processo de Easy Deploy será exibida nesta página.

Info

Veja mais detalhes sobre a página Nova Tarefa nessa seção.

Executando tarefas

Após a criação de uma tarefa, ela será enviada para a fila e nesse momento estará pronta para ser executada.

O último passo necessário é ativar o Runner. Basta executar o script BotRunner ou BotRunner-gui do BotCity Studio SDK.

Finalizando uma tarefa

Depois que as tarefas são criadas, elas são enfileiradas no BotMaestro e coletadas para execução pelo BotRunner.

Existem duas maneiras de finalizar uma tarefa: via código (junto com o código do bot) ou via CLI.

É responsabilidade do desenvolvedor do robô informar ao BotMaestro por meio do SDK sobre o status final adequado de uma tarefa.

Clique aqui para aprender como finalizar uma tarefa usando o Maestro SDK.

Info

Finalizar uma tarefa é apenas uma das possíveis integrações que podemos fazer com o BotCity Maestro.

Veja mais detalhes sobre as integrações com o BotCity Maestro nessa seção.

Dica

A maioria das funcionalidades acima também pode ser feita através da interface de linha de comando da BotCity.

Veja mais detalhes sobre as linhas de comando que podem ser usadas.

Solução de problemas

Q: O Runner não executa o robô

  1. Certifique-se de escolher o runner corretamente na automação.
  2. Verifique se a configuração do SDK está com o machineId correto.
  3. Certifique-se de iniciar o runner.
    • Se você estiver executando com GUI, clique no botão "START" para estabelecer conexão com o Maestro.
  4. Abra o arquivo log.txt no diretório raiz do SDK e verifique se houve algum erro.
  5. Certifique-se de que o runner esteja sendo executado no terminal.
  6. Verifique se o runner tem acesso à Internet.