diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..e8f48a9 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,55 @@ +name: Formeleon Deployment Pipeline + +on: + push: + branches: + - main + - stable + +jobs: + # --------------------------------------------------- + # 1. DEPLOYMENT TO DEVELOPMENT (branch: main) + # --------------------------------------------------- + deploy-dev: + name: Deploy to Dev Environment + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + + steps: + - name: Deploy via SSH to Dev + uses: appleboy/ssh-action@v1 + with: + # Flexibel über "Settings -> Actions -> Variables" editierbar: + host: ${{ vars.DEV_HOST }} + username: ${{ vars.DEV_DEPLOY_USER }} + + # Passwörter/Keys weiterhin über "Secrets": + key: ${{ secrets.DEV_SSH_KEY }} + port: 22 + script: | + cd /opt/formeleon-dev + git pull origin main + docker compose down + docker compose up -d --build + + # --------------------------------------------------- + # 2. DEPLOYMENT TO PRODUCTION (branch: stable) + # --------------------------------------------------- + deploy-prod: + name: Deploy to Production Environment + if: github.ref == 'refs/heads/stable' + runs-on: ubuntu-latest + + steps: + - name: Deploy via SSH to Prod + uses: appleboy/ssh-action@v1 + with: + host: ${{ vars.PROD_HOST }} + username: ${{ vars.PROD_DEPLOY_USER }} + key: ${{ secrets.PROD_SSH_KEY }} + port: 22 + script: | + cd /opt/formeleon-prod + git pull origin stable + docker compose down + docker compose up -d --build \ No newline at end of file