Skip to content

Commit

Permalink
refactor(deploy): fix versioning Dockerhub
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrizord committed Sep 2, 2024
1 parent 10aa7ee commit 0d8b546
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# GitHub Actions Workflow: Build and Deploy to VPS
# - Triggers on push to the master branch.
# - Caches the Maven dependencies.
# - Builds and pushes a Docker image to Docker Hub.
# - Deploys the Docker Compose file to a remote VPS.
# - Starts the application on the VPS.

name: Build and Deploy to VPS
name: Build and Deploy to VPS (test)

on:
push:
Expand All @@ -19,6 +20,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Extract version from pom.xml
id: extract_version
run: |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

Expand All @@ -31,15 +38,15 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push to DockerHUB
- name: Build and push to Docker Hub
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/arm64
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/gzgestao:latest
${{ secrets.DOCKERHUB_USERNAME }}/gzgestao:${{ github.sha }}
${{ secrets.DOCKERHUB_USERNAME }}/gzgestao:${{ env.VERSION }}
- name: Deploy docker compose file to VPS
uses: wlixcc/SFTP-Deploy-Action@v1.2.4
Expand All @@ -60,26 +67,24 @@ jobs:
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.VPS_PORT }}
envs: IMAGE_TAG
script: |
cd /home/deploy/gzgestao
# Autenticar no Docker Hub
echo ${{ secrets.DOCKERHUB_TOKEN }} | sudo docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
sudo docker compose -f docker-compose.prod.yml down --rmi all
echo "DOCKER_IMAGE=\"${{ secrets.DOCKERHUB_USERNAME }}/gzgestao:$IMAGE_TAG\"" > .env
echo "DOCKER_IMAGE=\"${{ secrets.DOCKERHUB_USERNAME }}/gzgestao:latest\"" > .env
echo "SPRING_DATASOURCE_URL=\"${{ secrets.SPRING_DATASOURCE_URL }}\"" >> .env
echo "SPRING_DATASOURCE_USERNAME=\"${{ secrets.SPRING_DATASOURCE_USERNAME }}\"" >> .env
echo "SPRING_DATASOURCE_PASSWORD=\"${{ secrets.SPRING_DATASOURCE_PASSWORD }}\"" >> .env
echo "JWT_PUBLIC_KEY=\"${{ secrets.JWT_PUBLIC_KEY }}\"" >> .env
echo "JWT_PRIVATE_KEY=\"${{ secrets.JWT_PRIVATE_KEY }}\"" >> .env

# Verificar o conteúdo do arquivo .env para confirmação
echo "Generated .env file:"
sudo cat .env
sudo docker compose -f docker-compose.prod.yml up -d

0 comments on commit 0d8b546

Please sign in to comment.