GitLab Runner: Pakartotinių build'ų spartinimas

Ši dokumentacija yra Docker atvaizdžių kūrimas vadovo dalis. Visą vadovą rasite čia: Efektyviai kurkite ir įkelkite Docker atvaizdžius iš savo GitLab CI/CD procesų naudodami Stackhero runner'ius ir Docker-in-Docker.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paprastą GitLab Runner cloud sprendimą, kuris leidžia efektyviai ir be rūpesčių vykdyti jūsų GitLab CI/CD užduotis. Štai ko galite tikėtis:

  • Neribotos CI/CD minutės: vykdykite savo pipelines tiek kartų, kiek reikia, be apmokestinimo už minutes ar netikėtų mokesčių.
  • Keli vienu metu vykdomi darbai: spartinkite kūrimo procesą paleisdami kelias užduotis lygiagrečiai.
  • Docker executor su Docker-in-Docker palaikymu: lengvai kurkite ir talpinkite konteinerių atvaizdus kaip CI/CD proceso dalį.
  • Puikiai veikia tiek su GitLab.com, tiek su self-managed GitLab instancijomis.
  • Privati, dedikuota infrastruktūra su greitu NVMe/SSD saugojimu užtikrina stabilų ir nuspėjamą build našumą.
  • Pasiekiama 🇪🇺 Europoje ir 🇺🇸 JAV regionuose, kad atitiktų jūsų komandos poreikius.

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

Jūsų runner'io diskas išlieka tarp pipeline'ų, todėl galite pakartotinai naudoti atvaizdžių sluoksnius kaip build cache. Tai leidžia pakartotinius build'us atlikti daug greičiau. Štai pavyzdinė konfigūracija:

build-cached:
  stage: build
  image: docker:29
  services:
    - name: docker:29-dind
      alias: docker
  variables:
    DOCKER_HOST: "tcp://docker:2375"
    DOCKER_TLS_CERTDIR: ""
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
  script:
    # Atsisiųskite naujausią atvaizdį cache'ui (jei yra):
    - docker pull "$CI_REGISTRY_IMAGE:latest" || true
    - docker build --cache-from "$CI_REGISTRY_IMAGE:latest" -t "$CI_REGISTRY_IMAGE:latest" .
    - docker push "$CI_REGISTRY_IMAGE:latest"

Šis metodas leidžia build'ams naudoti Docker sluoksnių cache, todėl perkurti reikia tik naujus ar pakeistus sluoksnius.