CI: deploy via rsync to /opt/barotrauma (no Docker)
This commit is contained in:
@@ -1,37 +1,36 @@
|
||||
name: Build & Deploy
|
||||
name: Deploy via rsync
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
deploy:
|
||||
runs-on: [ ubuntu-22.04 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t barotrauma-server:${{ github.sha }} .
|
||||
- name: Install rsync
|
||||
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: |
|
||||
docker tag barotrauma-server:${{ github.sha }} \
|
||||
${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest
|
||||
docker push ${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan -H ${{ secrets.SERVER_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: Deploy via SSH
|
||||
uses: appleboy/ssh-action@v1
|
||||
with:
|
||||
host: ${{ secrets.SERVER_HOST }}
|
||||
username: ${{ secrets.SERVER_USER }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
script: |
|
||||
docker pull ${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest
|
||||
docker stop barotrauma 2>/dev/null || true
|
||||
docker rm barotrauma 2>/dev/null || true
|
||||
docker run -d --name barotrauma \
|
||||
--restart unless-stopped \
|
||||
-p 27015:27015/udp \
|
||||
-p 27015:27015/tcp \
|
||||
${{ secrets.REGISTRY_ADDR }}/barotrauma-server:latest
|
||||
docker system prune -f
|
||||
- name: Rsync to /opt/barotrauma
|
||||
run: |
|
||||
rsync -avz --delete \
|
||||
--exclude=.git --exclude=.gitea \
|
||||
-e "ssh -i ~/.ssh/deploy_key" \
|
||||
./ ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:/opt/barotrauma/
|
||||
|
||||
- name: Restart server
|
||||
run: |
|
||||
ssh -i ~/.ssh/deploy_key \
|
||||
${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} \
|
||||
"systemctl restart barotrauma 2>/dev/null || \
|
||||
(killall DedicatedServer 2>/dev/null; sleep 2; cd /opt/barotrauma && nohup ./DedicatedServer >/dev/null 2>&1 &)"
|
||||
|
||||
Reference in New Issue
Block a user