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:
|
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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user