Skip to content

[WIP] Update deploy-azure workflow to build frontend image#5

Merged
jaylson merged 1 commit into
mainfrom
copilot/update-deploy-azure-workflow
Mar 18, 2026
Merged

[WIP] Update deploy-azure workflow to build frontend image#5
jaylson merged 1 commit into
mainfrom
copilot/update-deploy-azure-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 18, 2026

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.

Original prompt

Problema

O workflow .github/workflows/deploy-azure.yml atualmente só faz build e push da imagem Docker do backend, ignorando completamente o frontend.

Estrutura do projeto

  • Backend: src/backend/Dockerfile
  • Frontend: src/frontend/Dockerfile
  • As duas aplicações são separadas e devem ser deployadas juntas no Azure Container Registry (containerppro.azurecr.io)

O que precisa ser corrigido

Atualizar o arquivo .github/workflows/deploy-azure.yml com as seguintes mudanças:

  1. Renomear a env IMAGE_NAME: ppro para duas variáveis separadas:

    • BACKEND_IMAGE: ppro
    • FRONTEND_IMAGE: ppro-frontend
  2. Corrigir o file do backend para ./src/backend/Dockerfile (atualmente aponta para ./Dockerfile que é incorreto)

  3. Adicionar um novo step "Build and push Frontend image" após o step do backend, com:

    • context: ./src/frontend
    • file: ./src/frontend/Dockerfile
    • Tags: ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }}:latest e ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }}:${{ github.sha }}
  4. Atualizar o step final do job deploy para exibir as duas imagens no echo.

Resultado esperado do arquivo

name: Deploy to Azure Container Registry

on:
  push:
    branches:
      - main

env:
  REGISTRY: containerppro.azurecr.io
  BACKEND_IMAGE: ppro
  FRONTEND_IMAGE: ppro-frontend

jobs:
  build-and-push:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Login to Azure Container Registry
        uses: docker/login-action@v3
        with:
          registry: ${{ env.REGISTRY }}
          username: ${{ secrets.AZURE_ACR_USERNAME }}
          password: ${{ secrets.AZURE_ACR_PASSWORD }}

      - name: Build and push Backend image
        uses: docker/build-push-action@v5
        with:
          context: .
          file: ./src/backend/Dockerfile
          push: true
          tags: |
            ${{ env.REGISTRY }}/${{ env.BACKEND_IMAGE }}:latest
            ${{ env.REGISTRY }}/${{ env.BACKEND_IMAGE }}:${{ github.sha }}

      - name: Build and push Frontend image
        uses: docker/build-push-action@v5
        with:
          context: ./src/frontend
          file: ./src/frontend/Dockerfile
          push: true
          tags: |
            ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }}:latest
            ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }}:${{ github.sha }}

  deploy:
    needs: build-and-push
    runs-on: ubuntu-latest

    steps:
      - name: Images pushed successfully
        run: |
          echo "Backend: ${{ env.REGISTRY }}/${{ env.BACKEND_IMAGE }}:${{ github.sha }}"
          echo "Frontend: ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }}:${{ github.sha }}"

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: não está fazendo o build do frontend, somente do backend

Assistant: Deixa eu verificar o arquivo de workflow para entender o que está configurado atualmente.

Assistant: O workflow atual só faz build e push de uma única imagem Docker usando o ./Dockerfile da raiz do projeto. Ele não tem nenhum step dedicado ao build do frontend.

Veja o problema:

- name: Build and push Docker image
  uses: docker/build-push-action@v5
  with:
    context: .
    file: ./Dockerfile   # ← apenas o Dockerfile do backend
    push: true

Para corrigir, você precisa adicionar um step (ou job) separado para buildar o frontend. A solução depende da estrutura do seu projeto. Algumas perguntas:

  1. Onde está o frontend? Existe um diretório como frontend/ com seu próprio Dockerfile?
  2. O frontend é buildado em uma imagem Docker separada (ex: ppro-frontend) ou o build do frontend é copiado para dentro da imagem do backend?
  3. Eles devem ser deployados juntos ou de forma independente?

Com essas informações, posso te ajudar a ajustar o workflow corretamente! 🚀

User: 1. sim, cada um tem o dockerfile
2. sim, frontend e backend são separados
3. devem ser deployados juntos

Assistant: Vou verificar o conteúdo do diretório src e também o docker-compose.yml para entender melhor a estrutura do projeto.

Assistant: Agora tenho tudo o que preciso! A estrutura é clara:

  • Backend: src/backend/Dockerfile
  • Frontend: src/frontend/Dockerfile
  • Imagens separadas: ppro (backend) e ppro-frontend (frontend)

O workflow atual só builda a imagem do backend. Preciso adicionar um segundo step para o frontend. Quer que eu abra um PR com o workflow corrigido, ou prefere que eu apenas mostre o YAML atualizado para você aplicar manualmente?

Aqui está como ficaria o workflow corrigido:

name: Deploy to Azure Container Registry

on:
  push:
    branches:
      - main

env:
  REGISTRY: containerppro.azurecr.io
  BACKEND_IMAGE: ppro
  FRONTEND_IMAGE: ppro-frontend

jobs:
  build-and-push:
    runs-on: ubuntu-l...

</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

*This pull request was created from Copilot chat.*
>

<!-- START COPILOT CODING AGENT TIPS -->
---

✨ Let Copilot coding agent [set things up for you](https://github.com/jaylson/teste-ppro/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo.

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
teste-ppro Ready Ready Preview, Comment Mar 18, 2026 8:22pm

@jaylson jaylson marked this pull request as ready for review March 18, 2026 20:22
@jaylson jaylson merged commit 314f415 into main Mar 18, 2026
2 of 3 checks passed
Copilot AI requested a review from jaylson March 18, 2026 20:23
Copilot stopped work on behalf of jaylson due to an error March 18, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants