GitLab – một nền tảng “all-in-one” cho toàn bộ vòng đời DevOps. Không chỉ dừng lại ở Git repository, GitLab còn tích hợp CI/CD pipelines, Docker image registry, project/issue board và cả runners – biến nó thành một công cụ cực kỳ mạnh để tự động hóa từ code → build → test → deploy.
GitLab CI – “Single Tool for the Entire DevOps Lifecycle”
GitLab mô tả mình là “single tool for the entire DevOps lifecycle”, và điều đó không hề quá lời:
👉 Tham khảo chi tiết: https://gitlab.com
GitLab CI Pipeline File – .gitlab-ci.yml
Tất cả pipeline của GitLab CI được định nghĩa trong file .gitlab-ci.yml ở thư mục gốc của project. File này chia rõ stages và jobs, đồng thời hỗ trợ biến môi trường, script trước/sau (before/after script).
Ví dụ YAML cơ bản:
stages: - build - deploy variables: CI_REGISTRY_IMAGE_DB: "net_inventory_db" before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD https://registry.git.lab build: stage: build script: - echo "BUILD DB"
💡 Lưu ý:
Trải nghiệm trực quan
✅ Nếu Jenkins mạnh về custom plugin, Travis đơn giản cho OSS, thì GitLab CI nổi bật ở chỗ tất cả đều trong một nền tảng – đặc biệt hữu ích cho team muốn triển khai DevOps đồng bộ, không phân tán tool.
GitLab CI – “Single Tool for the Entire DevOps Lifecycle”
GitLab mô tả mình là “single tool for the entire DevOps lifecycle”, và điều đó không hề quá lời:
- Hỗ trợ Git đầy đủ tính năng + CI/CD built-in
- Có Community (miễn phí) và Enterprise edition (có phí, nhiều tính năng nâng cao)
- Hỗ trợ cả SaaS (cloud) lẫn self-managed (tự triển khai on-premises)
- Tích hợp issue board dạng KANBAN để quản lý công việc
- Merge Request (MR) tương tự Pull Request trên GitHub, với diff engine mạnh để so sánh, theo dõi lịch sử file
👉 Tham khảo chi tiết: https://gitlab.com
GitLab CI Pipeline File – .gitlab-ci.yml
Tất cả pipeline của GitLab CI được định nghĩa trong file .gitlab-ci.yml ở thư mục gốc của project. File này chia rõ stages và jobs, đồng thời hỗ trợ biến môi trường, script trước/sau (before/after script).
Ví dụ YAML cơ bản:
stages: - build - deploy variables: CI_REGISTRY_IMAGE_DB: "net_inventory_db" before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD https://registry.git.lab build: stage: build script: - echo "BUILD DB"
💡 Lưu ý:
- stages: khai báo toàn bộ pipeline flow (Build → Test → Deploy → …).
- before_script: giúp chuẩn bị môi trường (ví dụ login Docker registry).
- Mỗi job sẽ thuộc một stage và chứa các script cần chạy.
Trải nghiệm trực quan
- Project Board: giống Kanban, dễ dàng quản lý issue/ticket.
- Pipeline View: hiển thị trực quan các stage (Build, Prepare, Test, Cleanup…).
- Diff Engine: so sánh file, highlight sự thay đổi và lịch sử commit.
✅ Nếu Jenkins mạnh về custom plugin, Travis đơn giản cho OSS, thì GitLab CI nổi bật ở chỗ tất cả đều trong một nền tảng – đặc biệt hữu ích cho team muốn triển khai DevOps đồng bộ, không phân tán tool.