Clyde/.gitea/workflows/deploy.yaml
Anthony Debucquoy 212ab638a2
All checks were successful
Build and test backend / Build-backend (push) Successful in 2m3s
Build and test backend / Test-backend (push) Successful in 1m16s
deploy to production / deploy-frontend (push) Successful in 22s
deploy to production / deploy-backend (push) Successful in 2m17s
Build and test FrontEnd / Build-frontend (push) Successful in 21s
allow unix socket connection for database in prod
2024-03-06 10:01:55 +01:00

58 lines
2.0 KiB
YAML

name: deploy to production
run-name: ${{ gitea.actor }} has pushed to production
on:
push:
branches:
- master
workflow_run:
workflows:
- Build and test backend
- Build and test frontend
types:
- completed
workflow_dispatch:
jobs:
deploy-frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
working-directory: ./frontend
- run: npm ci
name: clean install
working-directory: ./frontend
- name: building
working-directory: ./frontend
run: npm run build
- name: pushing to the server
working-directory: ./frontend
run: |
echo "${{ secrets.SSH_KEY }}" > key
chmod 0600 key
scp -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key -r dist/ ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:
- run: echo "The website has been deployed. visit https://clyde.herisson.ovh/"
deploy-backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
- uses: gradle/gradle-build-action@v3
- name: building
run: ./gradlew backend:build
- name: pushing to the server
run: |
echo "${{ secrets.SSH_KEY }}" > key
chmod 0600 key
scp -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key -r * ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:api/
- name: restarting the backend
run: |
ssh -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd api/backend && docker build -t clyde/backend . && docker rm clyde_backend_prod -f || true && docker run --rm -d -u $(id -u clyde):$(id -g clyde) -v /var/run/postgresql:/var/run/postgresql --name clyde_backend_prod -p 4000:8080 clyde/backend && docker image prune -f"
- run: echo "The backend has been deployed. running at https://clyde.herisson.ovh/api"