GitLab Runner: Automatizuokite naudodami CLI

Paleiskite GitLab-Runner, gaukite jo prisijungimo duomenis ir keiskite jo konfigūraciją programiškai su Stackhero CLI

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo lengvai naudojamą GitLab Runner cloud sprendimą, sukurtą efektyviam jūsų GitLab CI/CD užduočių vykdymui. Štai ko galite tikėtis:

  • Neribotos CI/CD minutės: nėra apmokestinimo už kiekvieną minutę, todėl jūsų pipelines gali būti vykdomi bet kada, kai tik reikia.
  • Kelios vienu metu vykdomos užduotys: paleiskite kelis darbus vienu metu, kad pagreitintumėte visą pipeline procesą.
  • Docker executor su Docker-in-Docker palaikymu: supaprastinkite konteinerių atvaizdų kūrimą ir jų įkėlimą (push).
  • Suderinama su GitLab.com ir bet kuria self-managed GitLab instancija.
  • Privati, dedikuota VM, veikianti su greitais NVMe/SSD diskais, užtikrinančiais nuoseklius ir patikimus build'us.
  • Pasiekiama tiek 🇪🇺 Europoje, tiek 🇺🇸 JAV regionuose.

Taupykite laiką: galite prijungti savo pirmąjį GitLab Runner ir pradėti vykdyti pipelines vos per kelias minutes!

Šiame vadove parodoma, kaip sukurti GitLab-Runner paslaugą, perskaityti jos prisijungimo duomenis ir atnaujinti jos konfigūraciją visiškai iš komandinės eilutės, be jokių paspaudimų valdymo skydelyje. Tai idealiai tinka scenarijams (scripts), CI procesams ir AI agentams.

Visoms užduotims naudosime Stackhero CLI. Jei dar neįdiegėte, galite tai padaryti taip:

curl -fsSL https://www.stackhero.io/install.sh | sh

Lengviausias būdas pradėti – prisijungti per naršyklę. Paleidus prisijungimo komandą, CLI atidarys tinklalapį, kuriame galėsite patvirtinti prieigą. Jokių slaptažodžių ar 2FA kodų CLI įvesti nereikės.

stackhero login

Prisijungus, jūsų prisijungimo duomenys bus saugomi lokaliai ir automatiškai naudojami visoms būsimoms CLI komandoms.

Pilnai automatizuotoms aplinkoms, tokioms kaip scenarijai ar CI procesai, galite rinktis neinteraktyvų prieigos raktą (access token). Jį galite sukurti savo valdymo skydelyje (Account > Access tokens), tada eksportuoti kaip aplinkos kintamąjį. CLI ir visi jūsų paleisti scenarijai jį automatiškai aptiks.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

Toliau norėsite išvardyti savo paskyroje prieinamas GitLab-Runner paslaugų parduotuves. CLI priima parduotuvės pavadinimą (gitlab-runner) tiesiogiai, todėl nereikia ieškoti ar kopijuoti jokių ID.

# Išvardinkite GitLab-Runner paslaugų parduotuves (pridėkite --organization, jei valdote daugiau nei vieną)
stackhero services-store-list --name="gitlab-runner"

Vėlesnėse komandose galite naudoti parduotuvės pavadinimą gitlab-runner, arba, jei pageidaujate, pasirinkti konkretų svs-xxxxxx ID iš sąrašo.

# Išvardinkite instancijų dydžius savo paslaugų parduotuvei (naudokite NAME stulpelį --instance parametrui)
stackhero instances-store-list --service-store=gitlab-runner

# Išvardinkite galimus regionus (pvz., "europe")
stackhero regions-list

Žemiau pateiktas pavyzdinis scenarijus sukuria stack, prideda jūsų GitLab-Runner paslaugą, laukia jos paleidimo, gauna jos konfigūraciją (įskaitant sugeneruotus prisijungimo duomenis) ir tada pritaiko naują konfigūraciją.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="gitlab-runner"   # GitLab-Runner paslaugos parduotuvės pavadinimas (žr. 2 žingsnį)
instance="..."                # Instancijos dydis iš 3 žingsnio
region="europe"               # Regiono pavadinimas iš 3 žingsnio

# Sukurkite stack savo paslaugai (naudoja numatytąją organizaciją; jei reikia, pridėkite --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My GitLab-Runner stack")
echo "Stack sukurtas: ${stackId}"

# Pridėkite GitLab-Runner prie stack (pavadinimai atpažįstami automatiškai)
serviceId=$(stackhero --format=script service-add \
  --stack="My GitLab-Runner stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Paslauga pridėta: gitlab-runner"

# Palaukite, kol paslauga bus pilnai paleista (tai gali užtrukti kelias minutes)
stackhero service-wait-for --service="gitlab-runner"

# Gaukite paslaugos konfigūraciją, įskaitant sugeneruotus prisijungimo duomenis
stackhero service-configuration-get --service="gitlab-runner" --format=json

Komanda service-configuration-get grąžina visą jūsų paslaugos konfigūraciją, įskaitant automatiškai sugeneruotus slaptažodžius ir prisijungimo informaciją. Rezultatas pateikiamas JSON formatu, todėl jį lengva naudoti scenarijuose ir automatizacijoje.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

Galite peržiūrėti pavyzdinę konfigūracijos schemą ir tada pritaikyti savo nustatymus. Atnaujinus konfigūraciją, paslauga gali būti paleista iš naujo, kad pakeitimai įsigaliotų.

# Peržiūrėkite konfigūracijos schemą ir pavyzdį savo paslaugai
stackhero service-configuration-example --service=svc-xxxxxx

# Pritaikykite individualią konfigūraciją (paslauga bus paleista iš naujo, jei reikės)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Palaukite, kol nauja konfigūracija bus pritaikyta
stackhero service-wait-for --service=svc-xxxxxx

Viskas. Dabar matėte visą ciklą: paleiskite paslaugą, gaukite jos prisijungimo duomenis ir perkonfigūruokite ją – visa tai galima automatizuoti ir naudoti scenarijuose. Norėdami sužinoti daugiau, peržiūrėkite pilną CLI dokumentaciją, kurioje taip pat aprašyta neinteraktyvi STACKHERO_TOKEN autentifikacija, parodyta šiame vadove.