Runner yang di-host GitHub nyaman sampai tagihan atau waktu tunggu mulai terasa. Di atas kuota gratis Anda bayar per menit, setiap job mulai 'dingin' dan mengunduh ulang dependensi setiap kali. Runner swakelola di VPS Anda sendiri membalik ketiganya: biaya bulanan tetap, mesin 'hangat' dengan cache Anda sudah ada di disk, dan lingkungan build yang Anda kontrol penuh — versi alat tertentu, RAM lebih besar, cache layer Docker yang benar-benar bertahan.
Runner hanya perlu menjangkau GitHub keluar, jadi ia berjalan di paket termurah kami, dibayar dengan kripto, dan tanpa KYC.
Yang dibutuhkan runner
- CPU dan RAM untuk build Anda. Small ($8/bln — 4 vCPU, 4 GB RAM, 35 GB NVMe) adalah default nyaman untuk kebanyakan CI: build Node/Go/Rust, suite tes, build image Docker. Kompilasi berat atau job paralel? Naik ke Medium atau paket Pro.
- Disk NVMe untuk cache. Inti swakelola adalah persistensi — cache dependensi, layer Docker, dan artefak build tetap di disk antar-run. NVMe menjaga pemulihan tetap cepat.
- IP khusus tidak diperlukan. Runner menghubungi GitHub via HTTPS; tidak butuh akses masuk. Paket NAT (mulai $3/bln) sudah cukup. Ambil IP khusus hanya jika Anda juga meng-host sesuatu yang melayani trafik.
Menyiapkan runner (Ubuntu 24.04)
Buat runner di repositori (atau organisasi) Anda: Settings → Actions → Runners → New self-hosted runner → Linux. GitHub menampilkan perintah unduh dan token pendaftaran sekali pakai. Di VPS:
# sebagai pengguna non-root (runner menolak berjalan sebagai 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
# daftarkan dengan URL + token dari antarmuka GitHub
./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN
Menjaganya sebagai layanan
Jangan jalankan ./run.sh di terminal — pasang runner sebagai layanan systemd agar bertahan saat reboot:
sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status
Runner kini muncul sebagai Idle di antarmuka GitHub dan mengambil job apa pun yang menargetkannya.
Menggunakan dari workflow
Arahkan job ke runner Anda dengan runs-on:
jobs:
build:
runs-on: self-hosted # atau label kustom yang Anda tetapkan saat pendaftaran
steps:
- uses: actions/checkout@v4
- run: make build && make test
Job berbasis Docker
Pasang Docker sekali, dan workflow Anda bisa membangun image atau menjalankan kontainer layanan, dengan cache layer bertahan antar-run:
sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker runner # izinkan runner memakai Docker tanpa sudo
Untuk isolasi sekali pakai per job, jalankan runner itu sendiri di dalam kontainer dan buat ulang setiap run — pola umum untuk build tak tepercaya atau matriks.
Mengapa EQVPS untuk CI
- Biaya tetap, menit tanpa batas. Tanpa pengukuran per menit — pipeline sibuk berbiaya sama dengan yang menganggur.
- Cache 'hangat'. Dependensi dan layer Docker tetap di NVMe antar-run; build jadi lebih cepat, bukan lebih lambat.
- Root dalam ~60 detik, image bersih. Ubuntu, Debian, dan lainnya via cloud-init; pasang persis toolchain yang Anda butuhkan.
- Tanpa KYC, bayar kripto. Email untuk daftar, USDC/USDT untuk bayar. Jalankan runner tambahan untuk lonjakan rilis lalu batalkan setelahnya — waktu berbayar yang tak terpakai dikembalikan ke saldo Anda.
Komentar
Belum ada komentar. Jadilah yang pertama.