Todos os artigos
Getting Started
O que é o CICDoo Primeiros passos: o assistente de configuração O Painel e o Mapa da infraestruturaConcepts
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 equipaServers
Adicionar um servidor Domínios do servidor e DNS Utilizar um balanceador de carga Ações do servidor: deploy, registos e gráficosProjects & Git
Criar um projeto Ligar o GitHub Ligar o GitLab Ramos e instânciasInstances & 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 tarefasAgent 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 recargasMonitoring & 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 recursoAccount & Security
Autenticação de dois fatores (2FA) Definições de perfil e integrações Palavras-passe e recuperação da contaBilling & 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 canalSupport & Tickets
Abrir um ticket de suporte Obter ajuda da equipa CICDooTroubleshooting
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 SSLAgent 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.