game builds proxy
This commit is contained in:
36
deploy.sh
Normal file
36
deploy.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
# Upload a build to Hetzner Object Storage.
|
||||
# Usage: ./deploy.sh ./dist [version]
|
||||
#
|
||||
# If version is omitted, uses the current git short hash.
|
||||
# Requires: s3cmd configured for Hetzner Object Storage.
|
||||
set -euo pipefail
|
||||
|
||||
BUILD_DIR="${1:?Usage: ./deploy.sh <build-dir> [version]}"
|
||||
VERSION="${2:-$(git rev-parse --short HEAD 2>/dev/null || date +%s)}"
|
||||
|
||||
# Configure these for your setup
|
||||
BUCKET="s3://your-builds-bucket"
|
||||
PREFIX="builds"
|
||||
SITE_URL="https://builds.kill.systems"
|
||||
|
||||
# Hetzner Object Storage endpoint
|
||||
S3CMD_OPTS="--host=fsn1.your-objectstorage.com --host-bucket=%(bucket)s.fsn1.your-objectstorage.com"
|
||||
|
||||
if [[ ! -d "$BUILD_DIR" ]]; then
|
||||
echo "ERROR: $BUILD_DIR is not a directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uploading build $VERSION..."
|
||||
s3cmd sync \
|
||||
$S3CMD_OPTS \
|
||||
--acl-public \
|
||||
--no-mime-magic \
|
||||
--guess-mime-type \
|
||||
"$BUILD_DIR/" \
|
||||
"${BUCKET}/${PREFIX}/${VERSION}/"
|
||||
|
||||
echo ""
|
||||
echo "Build uploaded:"
|
||||
echo " ${SITE_URL}/${VERSION}/"
|
||||
Reference in New Issue
Block a user