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.