Usar Repositórios Privados durante o deploy
Nesta seção, você encontra como usar repositórios privados durante o deploy.
StackSpot Deploy Engine pode acessar repositórios Git por meio de chaves SSH quando os deploys acontecem. Você pode fazer isso adicionando o usuário stackspot-runtime como colaborador no seu projeto.
Esta configuração pode ser feita tanto a nível de um repositório, quanto a nível de uma equipe ou de uma organização inteira no GitHub.
Como funciona
- Deploy Engine usa um chave pública associada a uma chave SSH privada.
- Usuário permite o acesso do usuário máquina de Deploy aos repositórios privados do Git.
- No processo de implantação de Deploy, o usuário máquina pode clonar os repositórios privados do GitHub.
Usuário máquina ou Machine User são contas que não são usadas por um pessoa, mas você pode adicioná-lo como colaborador. Para mais detalhes, acesse a documentação do GitHub.
Por motivos de segurança, não é permitido executar o local-exec
, remote-exec
, module external
e data "external"
.
Como permitir o acesso de Deploy Engine em um Repositório Privado
Acesse a sua conta no GitHub e siga os passos:
Passo 1. No seu repositório clique em 'Settings' e depois do lado esquerdo em 'Collaborators';
Passo 2. Clique na opção 'Add people';
Passo 3. Adicione o email do colaborador e clique em 'Add email to this repository';
- Exemplo para conta Enterprise Na sua organização é necessário adicionar os usuários como Organization member primeiro. Depois disso, você pode adicioná-lo como colaborador do repositório.
Para o processo funcionar, o colaborador precisa aceitar o convite.
Pronto!
Como referenciar um arquivo do Repositório
Sempre que for preciso referenciar um arquivo do seu repositório para ser usado por Deploy Engine, será necessário seguir o seguinte formato:
<nome-do-repositório>/<caminho-do-arquivo-no-repositório>
.
Um exemplo disso é durante a aplicação (stk apply plugin
) de um Plugin de Infra que requer um input com o caminho de um arquivo para ser usado posteriormente, durante o deploy.
Confira um exemplo da pergunta que será feita no terminal:
? Informe o caminho do arquivo de configuração: <nome-do-repo/nome-do-arquivo.md>