blastmud/.ci/deploy

48 lines
2.6 KiB
Plaintext
Raw Normal View History

2023-02-12 23:05:34 +11:00
#!/bin/bash
2023-02-13 22:32:00 +11:00
set -Eeu
2023-02-12 23:05:34 +11:00
DEPLOY_HOST=172.19.11.5
2023-02-12 23:17:52 +11:00
mkdir -p ~/.ssh
cat >>~/.ssh/known_hosts <<END
172.19.11.5 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCm71djj4D0EX/rW9p0d4t/gIoUMK8kMJEs71KadFUu3Ij2BHqbS3U8G3sjm6qm7nU7c0QD1WNyzLbCp23qroobS2/TOjvewZMe5Gs4iGBmE5VLJHY/hD0AKHermcrv1z7KbLnLaCgqQdGdzqcPs07Z9BdbHBDHq57+VJsIQ9BCt67GevppPyV6sIQX9h6aoLo4179vwQ9tC7fPcp8GzO7PTcixMhWGF0A12YcMxA3OR5q3GoeQxGZ3wRXg7avNJhHuAI3tWIA5VUcn/DTuRC16ndSVuyxous/L+jxNuk7wDIDXRPuOin7edoJ7s4ZXxV7EWPKANZzzmStQzeLX7ew9K6uF1BNmzZArK03ts8H/h6Q/O8KB1/oCnAtpoCMHfDM2AiF9SOAa9S6yBmYFAGXgLV+BdnbZnIpOIE6zyPv3k/c9zzFW7ZoQ9V7VWomCX7FxL6uwoaBoVAeCSVkfrxFoXnzIyrcaGXBUlWftTKpB0jqCdJ/Eifquj9ImIE5CcNk=
172.19.11.5 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC5PjzIMikn+AJWyvge7DqFsdMarG9CVDov9ITbDwNwucoeEUlNoA3hypyrBeatyRL3Y+jWtPV6uwzlRTKye/BY=
172.19.11.5 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEi7lEzVWCLed6VZgnIpfXF7+bugZ6uZwH2hOkIgtfAv
END
chmod 0600 ~/.ssh/known_hosts
2023-02-13 21:07:47 +11:00
echo "$DEPLOY_KEY" >deploy-key
2023-02-12 23:05:34 +11:00
chmod 0600 ./deploy-key
BUILDSTAMP=$(cat binaries/buildstamp)
2023-02-12 23:10:40 +11:00
tar -cvJf binary-archive-$BUILDSTAMP.tar.xz -C binaries blastmud_game blastmud_listener
2023-02-12 23:05:34 +11:00
scp -i deploy-key binary-archive-$BUILDSTAMP.tar.xz blast@$DEPLOY_HOST:/home/blast/archive/
2023-02-13 21:11:37 +11:00
ssh -i deploy-key blast@$DEPLOY_HOST "find /home/blast/archive -mtime +30 -delete && mkdir -p /home/blast/latest && tar -xvJf /home/blast/archive/binary-archive-$BUILDSTAMP.tar.xz -C /home/blast/latest"
2023-02-12 23:05:34 +11:00
2023-02-13 22:32:00 +11:00
curl --max-time 10 https://blastmud.org/version || true >version
2023-02-13 22:34:46 +11:00
cd blastmud-repo
ROOT_COMMIT=$(git rev-list HEAD | tail -n 1)
cd ..
2023-02-13 22:32:00 +11:00
LISTENER_VERSION=$(jq -r .listener_version version || echo ROOT_COMMIT)
GAMESERVER_VERSION=$(jq -r .gameserver_version version || echo ROOT_COMMIT)
CURRENT_VERSION=$(git rev-parse HEAD)
2023-02-13 22:34:46 +11:00
cd blastmud-repo
2023-02-13 22:32:00 +11:00
LISTENER_CHANGES=$(git diff $LISTENER_VERSION $CURRENT_VERSION -- blastmud_listener blastmud_interfaces | wc -l)
GAMESERVER_CHANGES=$(git diff $LISTENER_VERSION $CURRENT_VERSION -- blastmud_gameserver blastmud_interfaces | wc -l)
2023-02-13 22:34:46 +11:00
cd ..
2023-02-13 22:32:00 +11:00
echo Listener changes: $LISTENER_CHANGES Gameserver changes: $GAMESERVER_CHANGES
if [[ $GAMESERVER_CHANGES != "0" ]]; then
echo Deploying gameserver
ssh -i deploy-key blast@$DEPLOY_HOST "cp /home/blast/latest/blastmud_game /mnt/gameserver-app/tmp && mv /mnt/gameserver-app/tmp/blastmud_game /mnt/gameserver-app/exe"
else
echo No changes to gameserver, skipping.
fi
if [[ $LISTENER_CHANGES != "0" ]]; then
echo Deploying listener
ssh -i deploy-key blast@$DEPLOY_HOST "cp /home/blast/latest/blastmud_listener /mnt/listener-app/tmp && mv /mnt/listener-app/tmp/blastmud_listener /mnt/listener-app/exe"
else
echo No changes to listener, skipping.
fi