GitHub
GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo.
Através do GitHub Actions é possível automatizar, personalizar e executar fluxos de trabalho de desenvolvimento do software diretamente no repositório.
Com o plugin senhasegura GitHub, é possível interceptar todas as variáveis de ambiente e injetar as secrets diretamente nos pipelines durante a execução da automação sem a necessidade de exposição das secrets.
Instalando plugin do GitHub
Para instalar o plugin senhasegura GitHub é necessário que possua o Client ID e Client Secret para autenticação via API. Para gerar as chaves de acesso, siga os passos descritos nas seções dsm-register-auth e dsm-view-auth.
Acesse um projeto em sua conta GitHub;
Adicione o binário e o arquivo
senhasegura-mapping.json
no repositório do projeto;infoO arquivo senhasegura-mapping.json pode ser utilizado para informar ao senhasegura DSM quais variáveis devem ser tratadas como secret.
Edite o arquivo
cicd.yml
localizado em<project_name>/.github/workflows/
no diretório de seu projeto;Na sessão jobs ➔build ➔steps, insira o seguinte trecho de código:
- name: senhasegura
env:
APP: ${{ secrets.APP }}
SYSTEM: ${{ secrets.SYSTEM }}
ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
ENHASEGURA_URL: ${{ secrets.SENHASEGURA_URL }}
SENHASEGURA_CLIENT_ID: ${{ secrets.SENHASEGURA_CLIENT_ID }}
SENHASEGURA_CLIENT_SECRET: ${{ secrets.SENHASEGURA_CLIENT_SECRET }}
run: |
chmod +x senhasegura
./senhasegura $APP $SYSTEM $ENVIRONMENT
source .runb.vars
rm .runb.varsSalve o arquivo;
Após isso, acesse a opção Settings ➔ Secrets;
Insira as variáveis APP, ENVIRONMENT, SYSTEM, SENHASEGURA_URL, SENHASEGURA_CLIENT_ID e SENHASEGURA_CLIENT_SECRET;
Por fim, bastará executar o workflow do GitHub;
As variáveis APP, ENVIRONMENT e SYSTEM informarão ao senhasegura DSM qual é a aplicação e em qual ambiente e sistema ela estará rodando.
Injeção de secrets em pipelines do GitHub
Após ter instalado o plugin no projeto, siga os passos para injetar as secrets em seu pipeline:
Siga o menu Actions;
Selecione o workflow;
Clique na opção Run workflow e em no botão Run workflow;
Por fim, acesse job criado e clique no botão Build para visualizar o resultado;