GitLab Runner: Docker atvaizdo kūrimas naudojant Docker-in-Docker

Ši dokumentacija yra Docker atvaizdų kūrimas vadovo dalis. Visą vadovą rasite čia: Kurkite ir įkelkite Docker atvaizdus iš savo GitLab CI/CD pipeline naudodami Stackhero runner ir Docker-in-Docker.

👋 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!

Štai pavyzdinis .gitlab-ci.yml, kurį galite pridėti prie savo repozitorijos. Ši konfigūracija sukuria šakniniame projekte esantį Dockerfile:

build-image:
  stage: build
  image: docker:27
  services:
    - docker:27-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  before_script:
    - docker info
  script:
    # Pakeiskite "my-image" norimu pavadinimu:
    - docker build -t my-image .
    # Papildomai galite atlikti greitą smoke test sukurtam atvaizdui:
    # - docker run --rm my-image /path/to/tests

Šioje konfigūracijoje docker:27-dind servisas paleidžia Docker daemon. Kintamasis DOCKER_TLS_CERTDIR: "/certs" užtikrina saugų TLS ryšį tarp jūsų užduoties ir Docker daemon.