GitLab Runner: Įkėlimas į GitLab konteinerių registrą

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

GitLab pateikia iš anksto apibrėžtus kintamuosius (CI_REGISTRY, CI_REGISTRY_USER, CI_REGISTRY_PASSWORD, CI_REGISTRY_IMAGE), kad jūsų pipeline galėtų saugiai autentifikuotis ir įkelti atvaizdžius į projekto konteinerių registrą. Papildomų slaptažodžių nereikia.

Štai pavyzdinis darbas, kuris sukuria ir įkelia jūsų atvaizdį:

build-and-push:
  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:
    - 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

Norėdami įkelti atvaizdžius į kitą registrą (pvz., Docker Hub ar privatų registrą), galite saugoti prisijungimo duomenis kaip CI/CD kintamuosius ir naudoti juos su docker login tokiu pačiu principu.