From 0287f0f182d4955d9c3435b4e484f57c731b98aa Mon Sep 17 00:00:00 2001 From: rorychatt Date: Wed, 30 Apr 2025 18:26:36 +0200 Subject: [PATCH 1/2] feat: crete cicd file --- .github/workflows/deploy.yml | 43 ++++++++++++++++++++++++++++++++++++ spacecorps-backend.service | 16 ++++++++++++++ spacecorps.conf | 20 +++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 .github/workflows/deploy.yml create mode 100644 spacecorps-backend.service create mode 100644 spacecorps.conf diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..a06a871 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: Deploy FE to VPS + +on: + push: + branches: + - release + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Deploy to VPS + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USERNAME }} + key: ${{ secrets.VPS_SSH_KEY }} + source: "dist/space-corps-front/browser/*" + target: "/var/www/spacecorps/frontend" + strip_components: 4 + + - name: Restart Nginx + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USERNAME }} + key: ${{ secrets.VPS_SSH_KEY }} + script: | + sudo systemctl restart nginx \ No newline at end of file diff --git a/spacecorps-backend.service b/spacecorps-backend.service new file mode 100644 index 0000000..c5c032b --- /dev/null +++ b/spacecorps-backend.service @@ -0,0 +1,16 @@ +[Unit] +Description=SpaceCorps Backend Service +After=network.target + +[Service] +WorkingDirectory=/var/www/spacecorps/backend +ExecStart=/usr/bin/dotnet /var/www/spacecorps/backend/SpaceCorps.Backend.dll +Restart=always +RestartSec=10 +SyslogIdentifier=spacecorps-backend +User=www-data +Environment=ASPNETCORE_ENVIRONMENT=Production +Environment=ASPNETCORE_URLS=http://localhost:5000 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/spacecorps.conf b/spacecorps.conf new file mode 100644 index 0000000..12f0fbe --- /dev/null +++ b/spacecorps.conf @@ -0,0 +1,20 @@ +server { + listen 80; + server_name your-domain.com; # Replace with your domain + + # Frontend + location / { + root /var/www/spacecorps/frontend; + try_files $uri $uri/ /index.html; + } + + # Backend API + location /api { + proxy_pass http://localhost:5000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } +} \ No newline at end of file From 341730ca252be3ef4f644c4916ae8b78c1e2a9c4 Mon Sep 17 00:00:00 2001 From: rorychatt Date: Wed, 30 Apr 2025 18:28:45 +0200 Subject: [PATCH 2/2] info: cleanup --- spacecorps-backend.service | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 spacecorps-backend.service diff --git a/spacecorps-backend.service b/spacecorps-backend.service deleted file mode 100644 index c5c032b..0000000 --- a/spacecorps-backend.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=SpaceCorps Backend Service -After=network.target - -[Service] -WorkingDirectory=/var/www/spacecorps/backend -ExecStart=/usr/bin/dotnet /var/www/spacecorps/backend/SpaceCorps.Backend.dll -Restart=always -RestartSec=10 -SyslogIdentifier=spacecorps-backend -User=www-data -Environment=ASPNETCORE_ENVIRONMENT=Production -Environment=ASPNETCORE_URLS=http://localhost:5000 - -[Install] -WantedBy=multi-user.target \ No newline at end of file