deploy yml #10

Merged
Syasya merged 2 commits from feature/syasya/testlayout into master 2025-08-25 09:20:50 +00:00
2 changed files with 59 additions and 4 deletions

View File

@ -1,5 +1,2 @@
FASTAPI_URL="http://localhost:8000" NEXT_PUBLIC_FASTAPI_URL="http://localhost:8000"
INTERNAL_API_BASE_URL="http://localhost:3005"
DATABASE_URL="postgresql://user:pass@localhost:5432/rooftop?schema=public"
JWT_SECRET="secret_key"

View File

@ -0,0 +1,58 @@
name: Build and Deploy
on:
push:
tags:
- "v*"
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Extract Tag Name
id: extract_tag
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
echo "tag=$TAG_NAME" >> $GITHUB_OUTPUT
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
env:
NEXT_PUBLIC_FASTAPI_URL: ${{ secrets.NEXT_PUBLIC_FASTAPI_URL }}
- name: Build and Push Docker Image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
rooftopenergy/powermeter-frontend:${{ steps.extract_tag.outputs.tag }}
- name: SSH and Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
echo "Using tag: ${{ steps.extract_tag.outputs.tag }}"
cd /root/power-meter-dashboard
sed -i "s|rooftopenergy/powermeter-frontend:.*|rooftopenergy/powermeter-frontend:${{ steps.extract_tag.outputs.tag }}|g" docker-compose.yml
docker compose down
docker compose pull
docker compose up -d