Танилцуулга
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-ийг дараах тохиолдолд ашиглана:
- CI/CD Pipeline: Build хийсэн image-үүдийг registry-д хадгална
- Deployment: Production, staging серверүүд дээр image-үүдийг pull хийж ашиглана
- Хуваалцах: Багийн гишүүд registry-аас image-үүдийг pull хийж ашиглана
- 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 эсвэл groupmrp/api,dev-docs- Project нэр эсвэл pathlatest,dev,abc1234- Tag нэр
CI/CD урсгал дахь Container Registry
GitLab Container Registry хөгжүүлэлтийн дараах үе шатуудад оролцоно:
- Build: CI/CD pipeline Docker image-ийг бүрдүүлнэ
- Push: Бүрдүүлсэн image-ийг registry-д push хийж хадгална
- Pull: Deployment шатанд registry-аас image-ийг pull хийж ашиглана
- Deploy: Image-ийг server дээр ажиллуулна
Image-үүдийг registry-д хадгалснаар хэзээ ч хэрэгтэй цагтаа ашиглах боломжтой.