38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
name: Docker CI/CD
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write # Permissão para push no GHCR
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
## Converter o nome do usuário do GitHub para minúsculas
|
|
- name: Convert GitHub Username to Lowercase
|
|
run: echo "GITHUB_ACTOR_LOWER=$(echo ${{ github.actor }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
|
|
|
|
## Login no GitHub Container Registry (GHCR)
|
|
- name: Log in to GitHub Container Registry (GHCR)
|
|
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
|
|
|
|
## Build e Tag da Imagem Docker
|
|
- name: Build and Tag Docker Image
|
|
run: |
|
|
docker build -t ghcr.io/$GITHUB_ACTOR_LOWER/vendaweb:latest .
|
|
docker tag ghcr.io/$GITHUB_ACTOR_LOWER/vendaweb:latest ghcr.io/$GITHUB_ACTOR_LOWER/vendaweb:$(date +%Y%m%d%H%M)
|
|
|
|
## Push da Imagem para o GHCR
|
|
- name: Push Docker Image to GitHub Container Registry (GHCR)
|
|
run: |
|
|
docker push ghcr.io/$GITHUB_ACTOR_LOWER/vendaweb:latest
|
|
docker push ghcr.io/$GITHUB_ACTOR_LOWER/vendaweb:$(date +%Y%m%d%H%M)
|