feat: CI/CD Teste e Deploy Maven #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Maven Package | |
on: | |
release: | |
types: [ created ] # Executa o workflow quando uma release é criada | |
push: | |
branches: [ main ] # Executa o workflow em push para a branch main (você pode especificar outras branches ou "qualquer branch" com '*') | |
pull_request: | |
branches: [ main ] # Monitora pull requests para a branch "main" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write # Necessário para publicar pacotes no GitHub Packages | |
steps: | |
- uses: actions/checkout@v4 # Faz o checkout do código | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '21' # Altere para a versão do Java que seu projeto usa (ex: '17', '21') | |
distribution: 'temurin' # Define a distribuição do JDK | |
cache: maven # Armazene em cache as dependências do Maven para acelerar execuções subsequentes do workflow | |
server-id: github # Esse id deve coincidir com o <id> definido no pom.xml | |
settings-path: ${{ github.workspace }}/.github # O caminho do settings.xml | |
- name: Build with Maven | |
run: mvn -B package --file pom.xml # Compila o projeto | |
- name: Publish to GitHub Packages Apache Maven | |
run: mvn deploy -s $GITHUB_WORKSPACE/.github/settings.xml # Faz o deploy do pacote para o GitHub Packages | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Usa o token gerado automaticamente pelo GitHub Actions |