Todos os artigos

Getting Started

O que é o CICDoo Primeiros passos: o assistente de configuração O Painel e o Mapa da infraestrutura

Concepts

Fases de produção, staging e desenvolvimento Domínios, subdomínios e SSL Versões e edições do Odoo (Community ou Enterprise) Espaços de trabalho e colaboração em equipa

Servers

Adicionar um servidor Domínios do servidor e DNS Utilizar um balanceador de carga Ações do servidor: deploy, registos e gráficos

Projects & Git

Criar um projeto Ligar o GitHub Ligar o GitLab Ramos e instâncias

Instances & Console

Criar uma instância Reiniciar, parar e remover uma instância Fazer merge de ramos entre fases Web IDE e acesso remoto As definições da instância explicadas Deploys e a fila de tarefas

Agent Tasks

O que são as tarefas de agente Configurar as tarefas de agente Executar uma tarefa e rever o resultado Tempo de agente e recargas

Monitoring & Backups

Monitorizar a instância Cópias de segurança e restauro Notificações de alerta (email e SMS)

Workspaces & Permissions

Convidar membros do espaço de trabalho Permissões de membro e acesso a recursos Um membro não consegue ver ou usar um recurso

Account & Security

Autenticação de dois fatores (2FA) Definições de perfil e integrações Palavras-passe e recuperação da conta

Billing & Plans

Planos e preços Fazer upgrade e gerir a subscrição Se a subscrição de um projeto ficar por pagar O programa de parceiros de canal

Support & Tickets

Abrir um ticket de suporte Obter ajuda da equipa CICDoo

Troubleshooting

Resolução de problemas: não é possível ligar um servidor Resolução de problemas: um deploy falhou Resolução de problemas: git push falha com 403 depois de mover um repositório Resolução de problemas: a instância está em baixo ou lenta Resolução de problemas: problemas de domínio ou SSL

Agent Tasks

Executar uma tarefa e rever o resultado

Criar uma tarefa de agente, ler e aprovar o plano, o que fica no git, devolver o trabalho para outra ronda e o que acontece quando uma execução falha ou atinge um limite do fornecedor.

Criar uma tarefa

Abre a página Tarefas de um projeto, ou o separador Tarefas na consola de uma instância, e cria uma. Dás-lhe:

  • Um título e uma descrição. O que deve mudar, em linguagem simples. O detalhe ajuda: o mesmo pedido com duas frases de contexto produz um plano muito melhor do que o pedido sozinho.
  • A instância onde trabalhar. Isto decide que código o agente lê e para que ramo o resultado é enviado.
  • Competências e anexos, opcionalmente. As competências são as tuas convenções da casa; os anexos são ficheiros que o agente deve ter como contexto, como uma especificação ou uma captura de ecrã do problema.

Criar tarefas exige a permissão de tarefas de agente. Se a subscrição do projeto estiver por pagar e o projeto tiver passado a somente leitura, a criação de tarefas é recusada, tal como todas as outras ações.

Apontar para a instância de produção obriga-te a escrever confirm ao criar a tarefa, e a tarefa fica registada como tarefa de produção a partir daí.

Ler o plano

O agente pega na tarefa, lê o código e devolve um plano. Nesta altura ainda nada foi alterado.

Lê o plano em si, não apenas a primeira linha. É a tua única oportunidade de apanhar um mal-entendido antes de o código ser escrito, e o custo de o ler é muito menor do que o custo de desfazer uma alteração má depois.

Depois escolhe:

  • Aprovar e executar: o agente implementa o plano.
  • Pedir alterações: descreve o que está errado e ele planeia de novo, com o teu feedback em mão.
  • Planear de novo: repete o planeamento tal como está, útil quando a primeira tentativa falhou em vez de correr mal. Planear de novo com orientação faz o mesmo com uma nota tua.
  • Cancelar tarefa: para a tarefa.

Aprovar exige a permissão de aprovação de planos.

Às vezes o agente reporta o plano como bloqueado: decidiu que não consegue fazer o trabalho em segurança ou que o pedido não é suficientemente claro. Um plano bloqueado espera sempre por uma pessoa, mesmo num projeto com a execução automática ativada.

O que fica no git

Depois de aprovares, o agente faz a alteração dentro do contentor da instância, faz commit dela e faz push para o ramo dessa instância. Esse push volta a fazer deploy da instância, por isso o resultado fica a correr onde o podes ver.

Não há pull request. O commit vai direto para o ramo a partir do qual é feito o deploy da instância, e é por isso que a instância que escolhes importa e que a produção está protegida por duas confirmações.

Se a execução terminar sem precisar de alterar nada, di-lo em vez de inventar um commit.

Quando o resultado não está certo

Usa Iniciar outra ronda na tarefa. Descreve o que está errado e o agente planeia uma correção, a partir do código que já enviou em vez de começar do zero. Aprovas o novo plano antes de algo correr, e o commit existente permanece no ramo.

As rondas são contadas na tarefa, para que vejas quantas passagens um trabalho exigiu e o que cada uma alterou.

Quando algo corre mal

  • A instância não arranca com o que a execução deixou em commit. O CICDoo move esses commits para um ramo de resgate, repõe o ramo da instância e volta a pôr o Odoo de pé. Nada é enviado e nada se perde: o trabalho fica no ramo de resgate se o quiseres.
  • O push falha. O trabalho fica na árvore de trabalho do contentor em vez de desaparecer.
  • A execução atinge o limite de utilização do teu fornecedor. A tarefa fica em pausa e diz-te quando o limite é reposto. Retomar continua com o plano aprovado a partir desse ponto; é a mesma ronda, interrompida, não uma nova.
  • A execução deixa de reportar. Se um contentor morrer a meio do trabalho, a tarefa é marcada como falhada em vez de ficar pendurada para sempre. Se o agente reportar tarde depois disso, o resultado é ainda assim recolhido.

Acompanhar o consumo

O separador Consumo da tarefa lista todas as execuções por trás dela: que ronda e fase, quem a despoletou, o resultado, tokens de entrada e de saída, e o tempo que demorou. A página /agent agrega isto entre projetos, com gráficos dos últimos 30 dias, 90 dias ou 12 meses.

As repetições e as falhas também são contadas. Isso é propositado: custam tempo de agente real, e uma tarefa que precisou de quatro tentativas deve parecer que precisou.

Próximos passos

Para saberes como esse tempo é medido e pago, consulta Tempo de agente e recargas. Para ativares a funcionalidade e ligares uma CLI, consulta Configurar as tarefas de agente.

Se ficares bloqueado, abre um ticket de suporte a partir da página Tickets ou do widget de chat.

Ainda com dúvidas? Abra um ticket a partir da aplicação ou fale com um engenheiro.