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.