name: Primer flujo de trabajo CI/CD (Build, Test and Push Docker Image) # ===== Disparadores del workflow ===== on: push: branches: - '**' # Cualquier rama # ===== Tareas del workflow ===== jobs: build-and-push: runs-on: ubuntu-latest steps: # Descarga código - name: Checkout code uses: actions/checkout@v3 # JDK/Maven para tests previos - name: Configución pasar TEST uses: actions/setup-java@v3 with: distribution: temurin java-version: 23 - name: Construir proyecto con Maven run: mvn clean package # Construir la imagen Docker usando el Dockerfile - name: Build Docker image run: docker build -t ghcr.io/${{ github.repository }}:latest . # Push a GHCR (GitHub Container Registry) - name: Push Docker image uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Push image run: docker push ghcr.io/${{ github.repository }}:latest