59 lines
1.7 KiB
Bash
59 lines
1.7 KiB
Bash
#!/bin/bash
|
|
set -eu
|
|
|
|
GITEA_URL="${GITEA_URL:-http://192.168.123.100:8418}"
|
|
REG_TOKEN="${REG_TOKEN:-}"
|
|
RUNNER_NAME="${RUNNER_NAME:-synology-runner}"
|
|
RUNNER_LABEL="${RUNNER_LABEL:-snapshot-admin-host}"
|
|
RUNNER_DIR="${RUNNER_DIR:-/volume1/gitea/act_runner}"
|
|
ACT_RUNNER_VERSION="${ACT_RUNNER_VERSION:-0.2.11}"
|
|
|
|
if [ -z "$REG_TOKEN" ]; then
|
|
echo "ERROR: REG_TOKEN is required"
|
|
echo "usage: REG_TOKEN=... GITEA_URL=... bash tools/re_register_act_runner_synology.sh"
|
|
exit 1
|
|
fi
|
|
|
|
ARCH=$(uname -m)
|
|
case "$ARCH" in
|
|
x86_64) BINARY="act_runner-${ACT_RUNNER_VERSION}-linux-amd64" ;;
|
|
aarch64) BINARY="act_runner-${ACT_RUNNER_VERSION}-linux-arm64" ;;
|
|
armv7l) BINARY="act_runner-${ACT_RUNNER_VERSION}-linux-arm-7" ;;
|
|
*) echo "ERROR: 지원하지 않는 아키텍처: $ARCH"; exit 1 ;;
|
|
esac
|
|
|
|
mkdir -p "$RUNNER_DIR/workspace"
|
|
|
|
if [ ! -x "$RUNNER_DIR/act_runner" ]; then
|
|
DOWNLOAD_URL="https://gitea.com/gitea/act_runner/releases/download/v${ACT_RUNNER_VERSION}/${BINARY}"
|
|
echo "[install] $DOWNLOAD_URL"
|
|
curl -L --progress-bar "$DOWNLOAD_URL" -o "$RUNNER_DIR/act_runner"
|
|
chmod +x "$RUNNER_DIR/act_runner"
|
|
fi
|
|
|
|
cat > "$RUNNER_DIR/config.yaml" <<YAML
|
|
runner:
|
|
name: ${RUNNER_NAME}
|
|
labels:
|
|
- "self-hosted:host"
|
|
- "${RUNNER_LABEL}:host"
|
|
|
|
host:
|
|
workdir_parent: ${RUNNER_DIR}/workspace
|
|
YAML
|
|
|
|
echo "[register] removing previous registration"
|
|
rm -f "$RUNNER_DIR/.runner"
|
|
|
|
echo "[register] registering as host runner"
|
|
"$RUNNER_DIR/act_runner" register \
|
|
--no-interactive \
|
|
--instance "$GITEA_URL" \
|
|
--token "$REG_TOKEN" \
|
|
--name "$RUNNER_NAME" \
|
|
--labels "self-hosted:host,${RUNNER_LABEL}:host" \
|
|
--config "$RUNNER_DIR/config.yaml"
|
|
|
|
echo "re-registration complete"
|
|
echo "start with: bash /volume1/projects/data_feed/tools/start_act_runner_synology.sh"
|