mirror of
https://github.com/actions/runner.git
synced 2025-12-10 20:36:49 +00:00
start remove script
This commit is contained in:
@@ -7,14 +7,15 @@ set -e
|
|||||||
# Configures as a service
|
# Configures as a service
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# RUNNER_CFG_PAT=<yourPAT> ./nix-svc.sh myuser/myrepo
|
# RUNNER_CFG_PAT=<yourPAT> ./create-latest-svc.sh myuser/myrepo
|
||||||
# RUNNER_CFG_PAT=<yourPAT> ./nix-svc.sh myorg
|
# RUNNER_CFG_PAT=<yourPAT> ./create-latest-svc.sh myorg
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# export RUNNER_CFG_PAT=<yourPAT>
|
# export RUNNER_CFG_PAT=<yourPAT>
|
||||||
# ./nix-svc.sh scope [name] [user]
|
# ./create-latest-svc scope [name] [user]
|
||||||
#
|
#
|
||||||
# scope required repo (:owner/:repo) or org (:organization)
|
# scope required repo (:owner/:repo) or org (:organization)
|
||||||
|
# name optional defaults to hostname
|
||||||
# user optional user svc will run as. defaults to current
|
# user optional user svc will run as. defaults to current
|
||||||
#
|
#
|
||||||
# Notes:
|
# Notes:
|
||||||
@@ -66,13 +67,12 @@ echo
|
|||||||
echo "Generating a registration token..."
|
echo "Generating a registration token..."
|
||||||
|
|
||||||
# if the scope has a slash, it's an repo runner
|
# if the scope has a slash, it's an repo runner
|
||||||
|
base_api_url="https://api.github.com/orgs"
|
||||||
if [[ "$runner_scope" == *\/* ]]; then
|
if [[ "$runner_scope" == *\/* ]]; then
|
||||||
base_api_url="https://api.github.com/repos/${runner_scope}"
|
base_api_url="https://api.github.com/repos"
|
||||||
else
|
|
||||||
base_api_url="https://api.github.com/orgs/${runner_scope}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export RUNNER_TOKEN=$(curl -s -X POST ${base_api_url}/actions/runners/registration-token -H "accept: application/vnd.github.everest-preview+json" -H "authorization: token ${RUNNER_CFG_PAT}" | jq -r '.token')
|
export RUNNER_TOKEN=$(curl -s -X POST ${base_api_url}/${runner_scope}/actions/runners/registration-token -H "accept: application/vnd.github.everest-preview+json" -H "authorization: token ${RUNNER_CFG_PAT}" | jq -r '.token')
|
||||||
|
|
||||||
if [ -z "$RUNNER_TOKEN" ]; then fatal "Failed to get a token"; fi
|
if [ -z "$RUNNER_TOKEN" ]; then fatal "Failed to get a token"; fi
|
||||||
|
|
||||||
@@ -128,3 +128,5 @@ echo
|
|||||||
echo "Configuring as a service ..."
|
echo "Configuring as a service ..."
|
||||||
./svc.sh install ${svc_user}
|
./svc.sh install ${svc_user}
|
||||||
./svc.sh start
|
./svc.sh start
|
||||||
|
|
||||||
|
|
||||||
61
scripts/remove-svc.sh
Executable file
61
scripts/remove-svc.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#
|
||||||
|
# Removes a runner running as a service
|
||||||
|
# Must be run on the machine where the service is run
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# RUNNER_CFG_PAT=<yourPAT> ./remove-svc.sh myuser/myrepo
|
||||||
|
# RUNNER_CFG_PAT=<yourPAT> ./remove-svc.sh myorg
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# export RUNNER_CFG_PAT=<yourPAT>
|
||||||
|
# ./remove-svc scope name
|
||||||
|
#
|
||||||
|
# scope required repo (:owner/:repo) or org (:organization)
|
||||||
|
# name optional defaults to hostname. name to uninstall and remove
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# PATS over envvars are more secure
|
||||||
|
# Should be used on VMs and not containers
|
||||||
|
# Works on OSX and Linux
|
||||||
|
# Assumes x64 arch
|
||||||
|
#
|
||||||
|
|
||||||
|
runner_scope=${1}
|
||||||
|
runner_name=${2:-$(hostname)}
|
||||||
|
|
||||||
|
echo "Uninstalling runner ${runner_name} @ ${runner_scope}"
|
||||||
|
sudo echo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------
|
||||||
|
# Stop and uninstall the service
|
||||||
|
#---------------------------------------
|
||||||
|
echo
|
||||||
|
echo "Uninstall the service ..."
|
||||||
|
./svc.sh stop
|
||||||
|
./svc.sh uninstall
|
||||||
|
|
||||||
|
#--------------------------------------
|
||||||
|
# Get a removal token
|
||||||
|
#--------------------------------------
|
||||||
|
echo
|
||||||
|
echo "Generating a removal registration token..."
|
||||||
|
|
||||||
|
# if the scope has a slash, it's an repo runner
|
||||||
|
base_api_url="https://api.github.com/orgs"
|
||||||
|
if [[ "$runner_scope" == *\/* ]]; then
|
||||||
|
base_api_url="https://api.github.com/repos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export REMOVE_TOKEN=$(curl -s -X POST ${base_api_url}/${runner_scope}/actions/runners/remove-token -H "accept: application/vnd.github.everest-preview+json" -H "authorization: token ${RUNNER_CFG_PAT}" | jq -r '.token')
|
||||||
|
|
||||||
|
if [ -z "$REMOVE_TOKEN" ]; then fatal "Failed to get a token"; fi
|
||||||
|
|
||||||
|
#--------------------------------------
|
||||||
|
# Remove the runner
|
||||||
|
#--------------------------------------
|
||||||
|
# DELETE /orgs/:organization/actions/runners/:runner_id
|
||||||
|
curl -s -X DELETE ${base_api_url}/${runner_scope}/actions/runners/remove-token -H "authorization: token ${REMOVE_TOKEN}"
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
Reference in New Issue
Block a user