Update main.yml #54
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: Build and Push Docker Image | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Debug Docker Login | |
run: docker info | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build Image | |
run: | | |
docker build -t gridape:v1 . | |
docker tag gridape:v1 cliuzy1/gridape:v1 | |
docker push cliuzy1/gridape:v1 | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
tags: | | |
cliuzy1/gridape:v1 | |
cliuzy1/gridape:latest | |
deploy: # Second job: Deploy (runs AFTER build) | |
needs: docker # Ensure "deploy" runs ONLY AFTER "docker" completes | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to Server | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.SERVER_SSH_HOST }} | |
username: ${{ secrets.SERVER_SSH_USERNAME }} | |
key: ${{ secrets.SERVER_SSH_KEY }} | |
script: | | |
docker pull cliuzy1/gridape:v1 | |
docker stop gridape || true | |
docker rm gridape || true | |
docker run -d \ | |
--name gridape \ | |
-p 3000:3000 \ | |
-e PORT=3000 \ | |
-e HOSTNAME="0.0.0.0" \ | |
-e NEXT_PUBLIC_API_URL="http://147.93.86.12:3000" \ | |
--restart unless-stopped \ | |
cliuzy1/gridape:v1 | |
# Verify deployment | |
docker ps | grep gridape |