Pular para o conteúdo principal
Version: 3.23

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.

Funcionamento da integração com GitHub

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.

  1. Acesse um projeto em sua conta GitHub;

  2. Adicione o binário e o arquivo senhasegura-mapping.json no repositório do projeto;

    info

    O arquivo senhasegura-mapping.json pode ser utilizado para informar ao senhasegura DSM quais variáveis devem ser tratadas como secret.

  3. Edite o arquivo cicd.yml localizado em <project_name>/.github/workflows/ no diretório de seu projeto;

  4. 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.vars
  5. Salve o arquivo;

  6. Após isso, acesse a opção Settings ➔ Secrets;

  7. Insira as variáveis APP, ENVIRONMENT, SYSTEM, SENHASEGURA_URL, SENHASEGURA_CLIENT_ID e SENHASEGURA_CLIENT_SECRET;

  8. Por fim, bastará executar o workflow do GitHub;

GitHub secrets
info

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:

  1. Siga o menu Actions;

  2. Selecione o workflow;

  3. Clique na opção Run workflow e em no botão Run workflow;

  4. Por fim, acesse job criado e clique no botão Build para visualizar o resultado;

Saída do plugin senhasegura GitHub