1
resposta

Desatualização acerca do GitHub Actions

Boa noite, pessoal.

Acredito que essa parte do curso necessite de uma atualização. O arquivo cloud-rum.yaml não está mais acessível pelo GitHub do GCP, estando somente presente no seguinte link: https://github.com/google-github-actions/setup-gcloud/blob/master/example-workflows/cloud-run/cloud-run.yml

Dessa forma, a criação das variáveis de ambiente e ativação da api por meio do pipeline fica comprometida, dada a alteração na estrutura do código inicial.

Agradeço desde já o comprometimento na resolução desta questão. Estou adorando o curso e acredito que esse refinamento o deixaria ainda melhor!

Obrigado!

1 resposta

Oii Luiz, 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:

 - 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á da seguinte maneira:

    - 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!