CI: deploy via rsync to /opt/barotrauma (no Docker)

This commit is contained in:
2026-06-09 12:22:28 +03:00
parent 9db66e427b
commit b5db2a06f3

View File

@@ -1,37 +1,36 @@
name: Build & Deploy name: Deploy via rsync
on: on:
push: push:
branches: branches:
- release - release
jobs: jobs:
build: deploy:
runs-on: [ ubuntu-22.04 ] runs-on: [ ubuntu-22.04 ]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build Docker image - name: Install rsync
run: docker build -t barotrauma-server:${{ github.sha }} . run: sudo apt-get update -qq && sudo apt-get install -y -qq rsync
continue-on-error: true
- name: Tag and push to local registry - name: Setup SSH
run: | run: |
docker tag barotrauma-server:${{ github.sha }} \ mkdir -p ~/.ssh
${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest echo "${{ secrets.SSH_KEY }}" > ~/.ssh/deploy_key
docker push ${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest chmod 600 ~/.ssh/deploy_key
ssh-keyscan -H ${{ secrets.SERVER_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
- name: Deploy via SSH - name: Rsync to /opt/barotrauma
uses: appleboy/ssh-action@v1 run: |
with: rsync -avz --delete \
host: ${{ secrets.SERVER_HOST }} --exclude=.git --exclude=.gitea \
username: ${{ secrets.SERVER_USER }} -e "ssh -i ~/.ssh/deploy_key" \
key: ${{ secrets.SSH_KEY }} ./ ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:/opt/barotrauma/
script: |
docker pull ${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest - name: Restart server
docker stop barotrauma 2>/dev/null || true run: |
docker rm barotrauma 2>/dev/null || true ssh -i ~/.ssh/deploy_key \
docker run -d --name barotrauma \ ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} \
--restart unless-stopped \ "systemctl restart barotrauma 2>/dev/null || \
-p 27015:27015/udp \ (killall DedicatedServer 2>/dev/null; sleep 2; cd /opt/barotrauma && nohup ./DedicatedServer >/dev/null 2>&1 &)"
-p 27015:27015/tcp \
${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest
docker system prune -f