Skip to main content

Танилцуулга

GitLab Container Registry гэж юу вэ?

GitLab Container Registry нь Docker image-үүдийг хадгалах, хуваалцах, удирдах платформ. GitLab-д байгаа project дээр шууд image-үүдийг хадгалж, CI/CD pipeline-аас ашиглах боломжтой.


Яагаад GitLab Container Registry ашиглах вэ?

GitLab Container Registry-ийн давуу тал:

  • Нэгдсэн: GitLab-ийн project дээр шууд image-үүдийг хадгална
  • Аюулгүй байдал: GitLab-ийн permissions системийг ашиглана
  • CI/CD интеграци: Pipeline-д шууд image-үүдийг push/pull хийх боломжтой
  • Version control: Tag, version-оор image-үүдийг удирдах
  • Хялбар: Нэмэлт тохиргоо хийх шаардлагагүй

Бусад registry-үүдтэй харьцуулахад:

  • Docker Hub-тай харьцуулахад: GitLab-ийн project дээр шууд хадгална
  • Private registry үүсгэхэд: Нэмэлт сервер, тохиргоо хийх шаардлагагүй
  • CI/CD-д: GitLab CI/CD-тэй шууд интеграцилагдсан

Үндсэн ойлголтууд

Container Registry

Docker image-үүдийг хадгалах сервер. GitLab-ийн registry нь project тус бүрт зориулсан registry байна.

Image

Docker container-ийг үүсгэхэд ашиглах template. Image нь код, dependencies, тохиргоо зэргийг агуулна.

Tag

Image-ийн version эсвэл нэр. Жишээ: latest, v1.0.0, main, dev

Push

Local-оос эсвэл CI/CD pipeline-аас registry-д image илгээх.

Pull

Registry-аас image татах, local эсвэл server дээр ашиглах.


GitLab Container Registry-ийн ашиглалт

GitLab Container Registry-ийг дараах тохиолдолд ашиглана:

  1. CI/CD Pipeline: Build хийсэн image-үүдийг registry-д хадгална
  2. Deployment: Production, staging серверүүд дээр image-үүдийг pull хийж ашиглана
  3. Хуваалцах: Багийн гишүүд registry-аас image-үүдийг pull хийж ашиглана
  4. Version Management: Өөр өөр version-уудыг tag-аар тэмдэглэж хадгална

Registry-ийн хаяг формат

GitLab Container Registry-ийн image-ийн хаяг нь дараах форматтай:

<registry-url>/<namespace>/<project-name>/<image-name>:<tag>

Жишээ:

git-registry.techpartners.asia/medtech/mrp/api:dev
git-registry.techpartners.asia/medtech/mrp/api:latest
git-registry.techpartners.asia/medtech/mrp/api:abc1234
git-registry.techpartners.asia/altanshagai.e/dev-docs:latest

Энд:

  • git-registry.techpartners.asia - Registry хаяг
  • medtech, altanshagai.e - Namespace эсвэл group
  • mrp/api, dev-docs - Project нэр эсвэл path
  • latest, dev, abc1234 - Tag нэр

CI/CD урсгал дахь Container Registry

GitLab Container Registry хөгжүүлэлтийн дараах үе шатуудад оролцоно:

  1. Build: CI/CD pipeline Docker image-ийг бүрдүүлнэ
  2. Push: Бүрдүүлсэн image-ийг registry-д push хийж хадгална
  3. Pull: Deployment шатанд registry-аас image-ийг pull хийж ашиглана
  4. Deploy: Image-ийг server дээр ажиллуулна

Image-үүдийг registry-д хадгалснаар хэзээ ч хэрэгтэй цагтаа ашиглах боломжтой.