EQVPS

Bir VPS'te kendi barındırdığın GitHub Actions runner nasıl kurulur

Bir VPS'te kendi barındırdığın bir GitHub Actions runner'ı kaydet ve hizmet olarak kur: runner'ı root olmayan bir kullanıcı olarak indir, depo token'ınla kaydet, yeniden başlatmaları atlatması için svc.sh'yi çalıştır. Kopyala-yapıştır komutlar.

Kendi barındırdığın bir runner sana sıcak önbelleklerle sabit maliyetli CI verir — dakika başı faturalandırma yok, senin araç zincirin, senin makinen. Bu asgari kurulum rehberidir; kendi barındırmanın GitHub'ın barındırdığı dakikaları neden yendiğini ve Docker iş detaylarını tam kılavuz ve GitHub Actions için VPS kullanım senaryosunda gör.

1. root olmayan bir kullanıcı oluştur (runner root'u reddeder)

adduser --disabled-password --gecos "" runner
su - runner

2. runner'ı indir

GitHub'da: Settings → Actions → Runners → New self-hosted runner → Linux, bu sana kesin indirmeyi ve tek kullanımlık bir token verir. Sonra:

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

3. Onu deponla kaydet

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. Hizmet olarak kur (yeniden başlatmaları atlatır)

./run.sh'yi bir terminalde çalıştırma — kur:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

runner artık GitHub arayüzünde Idle olarak görünür ve kendisini hedefleyen işleri alır.

5. Bir workflow'dan kullan

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Docker işleri (isteğe bağlı)

Docker'ı bir kez kur; workflow'lar, katman önbelleği çalışmalar arasında kalıcı olacak şekilde imaj oluşturabilir:

sudo apt install -y docker.io
sudo usermod -aG docker runner

Bir VPS'te Docker kurma yazısına bak. Boyutlandırma: Small (aylık 8$) çoğu CI için rahattır; ağır derleme için yükselt. Yaklaşık bir dakikada root, KYC yok, kripto ile ödeme.

SSS

Kendi barındırdığım bir GitHub Actions runner'ını nasıl kaydederim?

Deponda (ya da org'unda): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub bir indirme komutu ve tek kullanımlık bir kayıt token'ı gösterir. runner'ı root olmayan bir kullanıcı olarak indir, ./config.sh'yi o URL ve token'la çalıştır, sonra svc.sh ile hizmet olarak kur. Adımlar aşağıda.

runner neden root olarak çalışamaz?

runner tasarım gereği root olarak çalışmayı reddeder. Ayrılmış, root olmayan bir kullanıcı oluştur (adduser runner) ve orada kur. Bu ayrıca kötü niyetli bir workflow'un makinende neye dokunabileceğini de sınırlar.

runner'ı yeniden başlatmadan sonra nasıl çalışır tutarım?

Gelen svc.sh yardımcısını kullan: sudo ./svc.sh install runner && sudo ./svc.sh start. Bir systemd birimi kurar; böylece runner açılışta başlar, hatada yeniden başlar ve GitHub arayüzünde Idle olarak görünür.

Bir runner için ayrılmış IP'ye ihtiyacım var mı?

Hayır. runner GitHub'a HTTPS üzerinden dışa bağlanır; hiçbir şeyin ona gelen olarak ulaşması gerekmez. Bir NAT planı (aylık 3$'dan) yeterli. Ayrılmış IP'yi yalnızca trafik sunan bir şeyi de kendin barındırıyorsan al.

Kimlik ya da kart istiyor musunuz?

Hayır. Kaydolmak için bir e-posta, USDC veya USDT ile ödeme — belge yok, kart yok. Yaklaşık bir dakikada root.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.