EQVPS

Sådan sætter du en selv-hostet GitHub Actions-runner op på en VPS

Registrér en selv-hostet GitHub Actions-runner på en VPS, og installér den som en tjeneste: hent runneren som ikke-root-bruger, registrér med dit repo-token, kør svc.sh, så den overlever genstarter. Copy-paste-kommandoer.

En selv-hostet runner giver dig CI til fast pris med varme caches — ingen fakturering pr. minut, din toolchain, din maskine. Dette er den minimale opsætningsguide; hvorfor selv-hosting slår GitHub-hostede minutter, og detaljer om Docker-jobs, se den fulde guide og brugsscenariet VPS til GitHub Actions.

1. Opret en ikke-root-bruger (runneren nægter root)

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

2. Hent runneren

I GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, som giver dig den præcise download og et engangstoken. Derefter:

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. Registrér den hos dit repo

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

4. Installér som tjeneste (overlever genstarter)

Kør ikke ./run.sh i en terminal — installér den:

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

Runneren vises nu som Idle i GitHub-brugerfladen og samler jobs op, der er rettet mod den.

5. Brug den fra et workflow

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

Docker-jobs (valgfrit)

Installér Docker én gang, og workflows kan bygge images med layer-cache, der bevares mellem kørsler:

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

Se installér Docker på en VPS. Dimensionering: Small (8 $/md.) er behagelig til de fleste CI; skalér op til tung kompilering. Root på cirka et minut, ingen KYC, betal i krypto.

FAQ

Hvordan registrerer jeg en selv-hostet GitHub Actions-runner?

I dit repo (eller din org): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub viser en download-kommando og et engangs-registreringstoken. Hent runneren som ikke-root-bruger, kør ./config.sh med den URL og token, installér den derefter som tjeneste med svc.sh. Trinene er nedenfor.

Hvorfor kan runneren ikke køre som root?

Runneren nægter at køre som root ved design. Opret en dedikeret ikke-root-bruger (adduser runner) og sæt den op der. Det begrænser også, hvad et ondsindet workflow kunne røre på din maskine.

Hvordan holder jeg runneren kørende efter en genstart?

Brug den medfølgende svc.sh-hjælper: sudo ./svc.sh install runner && sudo ./svc.sh start. Den installerer en systemd-enhed, så runneren starter ved boot og genstarter ved fejl, og vises som Idle i GitHub-brugerfladen.

Har jeg brug for en dedikeret IP til en runner?

Nej. Runneren ringer ud til GitHub over HTTPS; intet behøver at nå den indgående. Et NAT-plan (fra 3 $/md.) virker. Tag kun en dedikeret IP, hvis du også selv-hoster noget, der serverer trafik.

Beder I om ID eller kort?

Nej. En e-mail for at tilmelde dig, betaling i USDC eller USDT — ingen dokumenter, intet kort. Root på cirka et minut.

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.