master #23
@@ -56,24 +56,24 @@ jobs:
|
|||||||
|
|
||||||
- name: Build Backend Docker Image
|
- name: Build Backend Docker Image
|
||||||
run: |
|
run: |
|
||||||
docker build -t git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} ./backend
|
docker build -t git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} ./backend
|
||||||
|
|
||||||
- name: Build Frontend Docker Image
|
- name: Build Frontend Docker Image
|
||||||
run: |
|
run: |
|
||||||
docker build -t git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} ./frontend/vue-app
|
docker build -t git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} ./frontend/vue-app
|
||||||
|
|
||||||
- name: Log in to Registry
|
- name: Log in to Registry
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
registry: git.ryankegel.com:3000
|
registry: git.ryankegel.com:3000
|
||||||
username: ryan #${{ secrets.REGISTRY_USERNAME }} # Stored as a Gitea secret
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
password: 0x013h #${{ secrets.REGISTRY_TOKEN }} # Stored as a Gitea secret (use a PAT here)
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
- name: Push Backend Image to Gitea Registry
|
- name: Push Backend Image to Gitea Registry
|
||||||
run: |
|
run: |
|
||||||
for i in {1..3}; do
|
for i in {1..3}; do
|
||||||
echo "Attempt $i to push backend image..."
|
echo "Attempt $i to push backend image..."
|
||||||
if docker push git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }}; then
|
if docker push git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }}; then
|
||||||
echo "Backend push succeeded on attempt $i"
|
echo "Backend push succeeded on attempt $i"
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
@@ -86,18 +86,18 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
|
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
|
||||||
docker tag git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/backend:latest
|
docker tag git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/backend:latest
|
||||||
docker push git.ryankegel.com:3000/ryan/backend:latest
|
docker push git.ryankegel.com:3000/kegel/chores/backend:latest
|
||||||
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
|
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
|
||||||
docker tag git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/backend:next
|
docker tag git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/backend:next
|
||||||
docker push git.ryankegel.com:3000/ryan/backend:next
|
docker push git.ryankegel.com:3000/kegel/chores/backend:next
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Push Frontend Image to Gitea Registry
|
- name: Push Frontend Image to Gitea Registry
|
||||||
run: |
|
run: |
|
||||||
for i in {1..3}; do
|
for i in {1..3}; do
|
||||||
echo "Attempt $i to push frontend image..."
|
echo "Attempt $i to push frontend image..."
|
||||||
if docker push git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }}; then
|
if docker push git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }}; then
|
||||||
echo "Frontend push succeeded on attempt $i"
|
echo "Frontend push succeeded on attempt $i"
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
@@ -110,14 +110,15 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
|
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
|
||||||
docker tag git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/frontend:latest
|
docker tag git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/frontend:latest
|
||||||
docker push git.ryankegel.com:3000/ryan/frontend:latest
|
docker push git.ryankegel.com:3000/kegel/chores/frontend:latest
|
||||||
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
|
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
|
||||||
docker tag git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/frontend:next
|
docker tag git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/frontend:next
|
||||||
docker push git.ryankegel.com:3000/ryan/frontend:next
|
docker push git.ryankegel.com:3000/kegel/chores/frontend:next
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Deploy Test Environment
|
- name: Deploy Test Environment
|
||||||
|
if: gitea.ref == 'refs/heads/next'
|
||||||
uses: appleboy/ssh-action@v1.0.3 # Or equivalent Gitea action; adjust version if needed
|
uses: appleboy/ssh-action@v1.0.3 # Or equivalent Gitea action; adjust version if needed
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.DEPLOY_TEST_HOST }}
|
host: ${{ secrets.DEPLOY_TEST_HOST }}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
chore-test-app-backend: # Test backend service name
|
chores-test-app-backend: # Test backend service name
|
||||||
image: git.ryankegel.com:3000/ryan/backend:next # Use latest next tag
|
image: git.ryankegel.com:3000/kegel/chores/backend:next # Use latest next tag
|
||||||
ports:
|
ports:
|
||||||
- "5004:5000" # Host 5004 -> Container 5000
|
- "5004:5000" # Host 5004 -> Container 5000
|
||||||
environment:
|
environment:
|
||||||
@@ -11,19 +11,19 @@ services:
|
|||||||
- FRONTEND_URL=https://devserver.lan:446 # Add this for test env
|
- FRONTEND_URL=https://devserver.lan:446 # Add this for test env
|
||||||
# Add volumes, networks, etc., as needed
|
# Add volumes, networks, etc., as needed
|
||||||
|
|
||||||
chore-test-app-frontend: # Test frontend service name
|
chores-test-app-frontend: # Test frontend service name
|
||||||
image: git.ryankegel.com:3000/ryan/frontend:next # Use latest next tag
|
image: git.ryankegel.com:3000/kegel/chores/frontend:next # Use latest next tag
|
||||||
ports:
|
ports:
|
||||||
- "446:443" # Host 446 -> Container 443 (HTTPS)
|
- "446:443" # Host 446 -> Container 443 (HTTPS)
|
||||||
environment:
|
environment:
|
||||||
- BACKEND_HOST=chore-test-app-backend # Points to internal backend service
|
- BACKEND_HOST=chores-test-app-backend # Points to internal backend service
|
||||||
depends_on:
|
depends_on:
|
||||||
- chore-test-app-backend
|
- chores-test-app-backend
|
||||||
# Add volumes, networks, etc., as needed
|
# Add volumes, networks, etc., as needed
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
chore-test-app-net:
|
chores-test-app-net:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
chore-test-app-backend-data: {}
|
chores-test-app-backend-data: {}
|
||||||
|
|||||||
@@ -2,35 +2,35 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
chore-app-backend: # Production backend service name
|
chores-app-backend: # Production backend service name
|
||||||
image: git.ryankegel.com:3000/ryan/backend:latest # Or specific version tag
|
image: git.ryankegel.com:3000/kegel/chores/backend:latest # Or specific version tag
|
||||||
container_name: chore-app-backend-prod # Added for easy identification
|
container_name: chores-app-backend-prod # Added for easy identification
|
||||||
ports:
|
ports:
|
||||||
- "5001:5000" # Host 5001 -> Container 5000
|
- "5001:5000" # Host 5001 -> Container 5000
|
||||||
environment:
|
environment:
|
||||||
- FLASK_ENV=production
|
- FLASK_ENV=production
|
||||||
volumes:
|
volumes:
|
||||||
- chore-app-backend-data:/app/data # Assuming backend data storage; adjust path as needed
|
- chores-app-backend-data:/app/data # Assuming backend data storage; adjust path as needed
|
||||||
networks:
|
networks:
|
||||||
- chore-app-net
|
- chores-app-net
|
||||||
# Add other volumes, networks, etc., as needed
|
# Add other volumes, networks, etc., as needed
|
||||||
|
|
||||||
chore-app-frontend: # Production frontend service name
|
chores-app-frontend: # Production frontend service name
|
||||||
image: git.ryankegel.com:3000/ryan/frontend:latest # Or specific version tag
|
image: git.ryankegel.com:3000/kegel/chores/frontend:latest # Or specific version tag
|
||||||
container_name: chore-app-frontend-prod # Added for easy identification
|
container_name: chores-app-frontend-prod # Added for easy identification
|
||||||
ports:
|
ports:
|
||||||
- "443:443" # Host 443 -> Container 443 (HTTPS)
|
- "443:443" # Host 443 -> Container 443 (HTTPS)
|
||||||
environment:
|
environment:
|
||||||
- BACKEND_HOST=chore-app-backend # Points to internal backend service
|
- BACKEND_HOST=chores-app-backend # Points to internal backend service
|
||||||
depends_on:
|
depends_on:
|
||||||
- chore-app-backend
|
- chores-app-backend
|
||||||
networks:
|
networks:
|
||||||
- chore-app-net
|
- chores-app-net
|
||||||
# Add volumes, networks, etc., as needed
|
# Add volumes, networks, etc., as needed
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
chore-app-net:
|
chores-app-net:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
chore-app-backend-data: {}
|
chores-app-backend-data: {}
|
||||||
|
|||||||
Reference in New Issue
Block a user