1
resposta

Deploy Github actions desatualizado - Como inserir variáveis de autenticação

O deploy do github actions está desatualizado o novo sendo o novo :https://github.com/google-github-actions/setup-gcloud/blob/master/example-workflows/cloud-run/cloud-run.yml

Para esta nova forma, como inserir a autenticação aprendida no curso?

1 resposta

Oii Matheus, como você está?

Peço desculpas pela demora em obter um retorno.

Com esta atualização do código do cloud-run, as variáveis secrets no Github Action, serão:

  • GCP_PROJECT
  • BASIC_AUTH_PASSWORD
  • BASIC_AUTH_USERNAME
  • GCP_CREDENTIALS

Que significam respectivamente:

  • ID do projeto criado no google cloud. Ele é obtido ao clicar no nome do projeto, que se localiza no canto superior esquerdo da tela do Google Cloud, como mostro abaixo:

    Imagem com fundo azuul que mostra a barra de ferramentas do Google Cloud Platform, que ao lado deste nome contém o nome do projeto: mlops-deploy

    Imagem com fundo branco que mostra uma listagem de todos os projetos após clicar no nome do projeto mlops-deploy. A listagem contém duas colunas: nome e ID, o que devemos copiar é o ID do projeto de nome mlops-deploy

  • Senha de usuário

  • Nome de usuário

  • Conteúdo do arquivo JSON que contém as credenciais de acesso. Este arquivo foi elaborado na aula Service Accout.

Quanto ao código yaml, atualmente não é necessário criar um arquivo separado para construir uma imagem Dockerizada, como foi feito com o arquivo cloudbuild.yaml. Nesta atualização do código, no próprio arquivo cloud_run.yaml, foi adicionado o build via Docker, como mostro abaixo:

    - name: Build and Push Container
      run: |-
        docker build -t gcr.io/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{  github.sha }} .
        docker push gcr.io/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{  github.sha }}

A mudança que precisamos efetuar neste trecho é adicionar os argumentos de nome e senha com o --build-arg, como mostro abaixo:

 - name: Build and Push Container
      run: |-
        docker build -t gcr.io/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{  github.sha }} --build-arg BASIC_AUTH_USERNAME_ARG=${{ secrets.BASIC_AUTH_USERNAME }} --build-arg BASIC_AUTH_PASSWORD_ARG=${{ secrets.BASIC_AUTH_PASSWORD }} .
        docker push gcr.io/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{  github.sha }}

Quanto a parte de autenticação, a mesma ocorrerá através da leitura de uma actions secrets, como mostro abaixo:

    - id: 'auth'
      uses: 'google-github-actions/auth@v0'
      with:
        credentials_json: '${{ secrets.GCP_CREDENTIALS }}'

Para evitar problemas de indentação, adicionei o código completo neste link para que você efetue o download.

Reforço que mesmo que a estrutura do código tenha se modificado, os conceitos apresentados pelo instrutor permanecem inalterados. Acrescento também que nossa equipe já está trabalhando em melhorias para evitar com que erros como este impossibilitem a finalização do curso.

Qualquer dúvida fico à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!