GitHub-hosted runners ሂሳቡ ወይም የመጠበቂያ ጊዜው ማም እስኪጀምር ድረስ ምቹ ናቸው። ከfree tier ባሻገር በደቂቃ ይከፍላሉ፣ እያንዳንዱን job cold-start ያደርጋሉ፣ እና dependencies በእያንዳንዱ run እንደገና ያወርዳሉ። በራስዎ VPS ላይ ራስ-የተስተናገደ runner ሦስቱንም ይገለብጣል: የተመን ወርሃዊ ወጪ፣ cachesዎ አስቀድሞ በdisk ላይ ያሉት ሞቅ ያለ ማሽን፣ እና ሙሉ በሙሉ የሚቆጣጠሩት build environment — የተለዩ tool versions፣ ተጨማሪ RAM፣ በእውነት የሚቀጥል Docker layer cache።
runner GitHubን ወጪ ብቻ መድረስ ያስፈልገዋል፣ ስለዚህ በርካሹ ዕቅዶቻችን ላይ ይሠራል፣ በክሪፕቶ ይከፍላል፣ እና KYC አያስፈልገውም።
runner የሚፈልገው
- ለbuildsዎ CPU እና RAM። Small ($8/ወር — 4 vCPU፣ 4 GB RAM፣ 35 GB NVMe) ለአብዛኞቹ CI ምቹ ነባሪ ነው: Node/Go/Rust builds፣ test suites፣ Docker image builds። ከባድ compilation ወይም parallel jobs? ወደ Medium ወይም Pro ዕቅድ ይነሱ።
- ለcaches NVMe disk። ራስ-ማስተናገድ ሙሉ ነጥቡ persistence ነው — dependency caches፣ Docker layers፣ build artifacts በruns መካከል በdisk ላይ ይቆያሉ። NVMe restores ን ፈጣን ያደርጋል።
- dedicated IP አያስፈልግም። runner ወደ GitHub በHTTPS ወጪ ይደውላል፤ ምንም ነገር inbound መድረስ አያስፈልገውም። NAT ዕቅድ (ከ$3/ወር) በቂ ነው። traffic የሚያገለግል ነገር ራስዎ የሚያስተናግዱ ከሆነ ብቻ dedicated IP ይውሰዱ።
runner ያዋቅሩ (Ubuntu 24.04)
runnerን በrepoዎ (ወይም org) ውስጥ ይፍጠሩ: Settings → Actions → Runners → New self-hosted runner → Linux። GitHub download command እና የአንድ-ጊዜ registration token ያሳያል። በVPS ላይ:
# as a non-root user (the runner refuses to run as root)
adduser --disabled-password --gecos "" runner
su - runner
mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz
# register with the URL + token from the GitHub UI
./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN
እንደ service እያሄደ ያቆዩት
./run.shን በterminal ውስጥ አያሂዱ — reboots እንዲተርፍ እንደ systemd service ይጫኑት:
sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status
runner አሁን በGitHub UI ውስጥ Idle ሆኖ ይታያል እና ወደ እሱ የሚያነጣጥር ማንኛውንም job ይወስዳል።
ከworkflow ይጠቀሙበት
jobን ወደ runnerዎ በruns-on ያመልክቱ:
jobs:
build:
runs-on: self-hosted # or a custom label you set at registration
steps:
- uses: actions/checkout@v4
- run: make build && make test
በDocker ላይ የተመሠረቱ jobs
Dockerን አንድ ጊዜ ይጫኑ እና workflowsዎ images መገንባት ወይም service containers ማሄድ ይችላሉ፣ layer cache በruns መካከል እየቀጠለ:
sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker runner # let the runner use Docker without sudo
ለሚጣል per-job isolation፣ runnerን ራሱ በcontainer ውስጥ ያሂዱ እና በእያንዳንዱ run እንደገና ይፍጠሩት — ለuntrusted ወይም matrix builds የተለመደ pattern።
ለCI ለምን EQVPS
- የተመን ወጪ፣ ላልተወሰነ ደቂቃዎች። በደቂቃ metering የለም — የተጠመደ pipeline እንደ idle ተመሳሳይ ያስከፍላል።
- ሞቅ ያሉ caches። Dependencies እና Docker layers በruns መካከል በNVMe ላይ ይቆያሉ፤ builds ፈጣን ይሆናሉ፣ ዝግ አይደሉም።
- root በ~60 ሰከንድ፣ ንፁህ images። Ubuntu፣ Debian እና ተጨማሪ በcloud-init፤ የሚፈልጉትን toolchain በትክክል ይጫኑ።
- KYC የለም፣ የክሪፕቶ ክፍያ። ለመመዝገብ ኢሜይል፣ ለመክፈል USDC/USDT። ለrelease ጫና ተጨማሪ runners ያስነሱ እና በኋላ ይሰርዟቸው — ያልተጠቀሙበት የተከፈለ ጊዜ ወደ ቀሪ ሂሳብዎ ተመላሽ ይደረጋል።
አስተያየቶች
እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።