GitLab Runner: Įkėlimas į GitLab container registry

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

GitLab pateikia keletą iš anksto apibrėžtų kintamųjų (CI_REGISTRY, CI_REGISTRY_USER, CI_REGISTRY_PASSWORD, CI_REGISTRY_IMAGE), todėl jūsų pipeline gali prisijungti ir įkelti atvaizdus į projekto container registry be papildomų slaptažodžių.

Štai pavyzdinė užduotis, kuri sukuria ir įkelia jūsų atvaizdą:

build-and-push:
  stage: build
  image: docker:27
  services:
    - docker:27-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
  script:
    - docker build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
    - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
    # Jei esate numatytoje šakoje, galite taip pat pažymėti ir įkelti "latest":
    - |
      if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
        docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest"
        docker push "$CI_REGISTRY_IMAGE:latest"
      fi

Jei norite įkelti atvaizdus į kitą registry (pvz., Docker Hub ar privatų registry), galite šiuos prisijungimo duomenis saugoti kaip CI/CD kintamuosius ir naudoti juos su docker login tokiu pačiu principu.