Primeiros passos
Pré-requisitos: o Devin precisa ter acesso aos seus repositórios antes que você possa configurar o ambiente dele. Se você ainda não configurou sua integração com o Git, consulte Antes de começar para ver as etapas de configuração. Usuários do Enterprise também precisam conceder a cada org acesso aos seus repos em Enterprise Settings > Repository Permissions.
Ainda está na configuração clássica? Você pode migrar para a configuração declarativa a qualquer momento. O Devin pode fazer a maior parte dessa migração para você. Consulte Migrando para a configuração
declarativa.
- Deixe o Devin fazer isso (recomendado)
- Configuração manual
Ideal para a maioria dos usuários. O Devin analisa seu projeto, identifica quais ferramentas e dependências são necessárias e gera o blueprint para você. Basta revisar e aprovar.
Inicie uma sessão do Devin
Abra uma nova sessão e peça ao Devin para configurar o repositório. Por exemplo: “Configure seu ambiente para este repo.”
Revise e aprove
O Devin propõe um blueprint. Você verá cards de sugestão na sua timeline. Revise-os e clique em Approve.
Como funciona
| Conceito | O que é | Analogia |
|---|---|---|
| Blueprint | Uma configuração YAML que descreve o que instalar e como configurar o ambiente do Devin | Dockerfile |
| Build | O processo que executa seu blueprint, clona repositórios e produz um snapshot | docker build |
| Snapshot | Uma imagem congelada e inicializável do ambiente da qual as sessões são iniciadas | Docker image |
Seções do blueprint
| Seção | Finalidade | Quando é executada |
|---|---|---|
initialize | Instalar ferramentas, runtimes e pacotes do sistema | Apenas durante builds. Os resultados são salvos no snapshot. |
maintenance | Instalar/atualizar dependências do projeto, gravar configurações de credenciais | Durante builds + no início de cada sessão |
knowledge | Informações de referência para Devin (comandos de lint, teste e build) | Não é executada. Carregada no contexto do Devin no início da sessão. |
initialize é para coisas que só precisam acontecer uma vez: runtimes de linguagem, pacotes do sistema e ferramentas CLI globais.
maintenance é para a instalação de dependências que devem permanecer atualizadas. Ela é executada durante builds e novamente no início de cada sessão, após obter o código mais recente, então os comandos devem ser rápidos e incrementais (use npm install, não npm ci).
knowledge contém informações de referência e não é executada. É assim que você informa ao Devin os comandos corretos para lint, testes e build. Mantenha as entradas enxutas e focadas em comandos executáveis.
Knowledge aqui vs. o recurso Knowledge do produto: A seção
knowledge no seu blueprint serve para referências curtas de comandos vinculadas ao ambiente. Para documentação de arquitetura, convenções e
fluxos de trabalho da equipe, use o recurso independente Knowledge.Escopo dos blueprints
| Nível | Onde configurar | O que colocar aqui |
|---|---|---|
| Organização | Configurações > Configuração do ambiente > Configuração em nível da organização | Ferramentas compartilhadas por todos os repos: runtimes de linguagem, gerenciadores de pacotes, autenticação do Docker |
| Repositório | Configurações > Configuração do ambiente > [nome do repo] | Configuração específica do projeto: npm install, comandos de lint/test/build |
maintenance de um repo pode usar ferramentas instaladas pelo initialize da organização. Se apenas um repo precisar de uma ferramenta, coloque-a no blueprint desse repo. Se todos os repos precisarem dela, coloque-a no blueprint da organização.
Usuários do Enterprise: Há um terceiro nível, o blueprint Enterprise, que se aplica a todas as organizações. Consulte a visão geral do ambiente Enterprise para mais
detalhes.
Builds e sessões
O snapshot
Como os builds funcionam
Como as sessões funcionam
- Execuções de
maintenancedo Enterprise e em nível da organização (em~). - O código mais recente é obtido do(s) repo(s) relevante(s).
- O
maintenancedesse repo é executado novamente para captar alterações nas dependências desde o último build. - As entradas de Knowledge desse repo são carregadas no contexto do Devin.
Knowledge é por repositório. Se você tiver 5 repositórios configurados, o Devin verá apenas as entradas de Knowledge daquele em que estiver trabalhando.
O que aciona um build
| Gatilho | Descrição |
|---|---|
| Salvar um blueprint | Criar, atualizar ou excluir um blueprint |
| Adicionar ou remover um repositório | Qualquer alteração na lista de repositórios |
| Adicionar um segredo ao repositório | Novos segredos exigem um rebuild para ficarem disponíveis |
| Gatilho manual | Clicar em Build ou Rebuild na interface |
| Atualização periódica | Automática, aproximadamente a cada 24 horas |
| Sugestão do Devin | O Devin propõe uma alteração no blueprint durante uma sessão |
Status de builds
| Status | Significado |
|---|---|
| Success | Todas as etapas foram concluídas. O snapshot está pronto. |
| Partial | Algumas etapas no nível do repositório falharam, mas o snapshot é utilizável. Os repositórios que tiveram sucesso funcionam normalmente; os repositórios que falharam precisam ter seus blueprints corrigidos. |
| Failed | Falha crítica (a configuração da org ou do Enterprise falhou). O snapshot não é utilizável. |
| Cancelled | Foi substituído por um build mais recente ou cancelado manualmente. |
Gerenciando seu ambiente
Estados dos repositórios
| State | Meaning |
|---|---|
| Configured | Tem um blueprint com instruções de inicialização/manutenção/Knowledge. Totalmente configurado no snapshot. |
| Included | Clonado no snapshot, mas sem blueprint personalizado. Devin pode acessar o código. |
| Available | Conectado à org, mas não adicionado ao ambiente. Não clonado. |
Segredos
$VARIABLE_NAME. Adicione-os em Configurações > Segredos.
initialize, esse valor persistirá no snapshot. Sempre grave as credenciais em maintenance.
Para ver detalhes sobre os escopos e o comportamento dos segredos, consulte a Referência de blueprints.
Vários repositórios
~/.bashrc), o que for executado por último prevalece. Coloque as instalações de ferramentas compartilhadas no blueprint de nível da organização para evitar conflitos.
Monorepos
(cd ... && ...) são executados em um subshell para que o diretório de trabalho volte ao estado original na próxima etapa.
Fixação e atualizações automáticas
success ou partial, com menos de 7 dias) e clique em Pin. Enquanto estiver fixado, as atualizações periódicas são puladas e a interface mostra Auto-updates paused.
Para remover a fixação: Clique em Resume auto-updates. O Devin muda para o build bem-sucedido mais recente.
Blueprints baseados em Git
No momento, blueprints baseados em Git ainda não são compatíveis. Esse recurso estará disponível em breve. Você poderá armazenar blueprints no seu repositório e fazer com que as builds sejam acionadas automaticamente quando eles forem alterados. Por enquanto,
configure os blueprints pela UI.
Solução de problemas em builds
A etapa de inicialização falhou
initialize no seu blueprint e salve. Uma nova build é acionada automaticamente.
Falha ao clonar o repo
Falha na etapa de manutenção
maintenance ou initialize para instalar as dependências ausentes ou corrija o lock file no seu repositório.
Tempo limite de build
Refinando as correções
- Verifique os logs da build para identificar a falha
- Atualize o blueprint relevante
- Salve (uma nova build é acionada automaticamente)
- Monitore os logs da nova build
- Repita até que a build seja concluída com sucesso
Você não precisa esperar uma build com falha terminar. Salvar uma nova configuração cancela qualquer build na fila e inicia uma nova do zero.
Próximas etapas
Referência de blueprints
Referência completa dos campos: tipos de etapa, GitHub Actions, variáveis de ambiente, segredos e anexos de arquivo.
Biblioteca de templates
Blueprints prontos para copiar e colar para Python, Node.js, Go, Java, Ruby, Rust e padrões avançados.
Migração da configuração clássica
Guia passo a passo para migrar do assistente interativo para blueprints declarativos.
Gerenciamento de ambiente Enterprise
Gerenciamento de ambiente em toda a Enterprise: hierarquia de 3 níveis, segredos e configuração entre organizações.
