Cách dùng Tạo GitLab CI
- Chọn stack — Node.js, Python, Go, Docker image hoặc trang tĩnh trên GitLab Pages — và đặt phiên bản.
- Đánh dấu các job bạn muốn: lint, test, build, coverage; giữ rules cho merge request bật để kiểm thử mọi MR.
- Tùy chọn thêm job deploy lên máy chủ qua SSH hoặc lên Pages, có duyệt thủ công nếu bạn muốn.
- Commit file với tên
.gitlab-ci.ymlở thư mục gốc của repository — pipeline sẽ bắt đầu chạy ở lần push tiếp theo.
Cách pipeline được xây dựng
- workflow:rules chạy pipeline cho merge request và cho các lần push lên nhánh mặc định, đồng thời bỏ qua pipeline nhánh bị trùng khi đã có MR đang mở.
- cache được khóa theo file lock (
package-lock.json,pnpm-lock.yaml,requirements.txt,go.sum) nên dependency được cài nhanh và cache tự làm mới khi chúng thay đổi. - artifacts chuyển kết quả build sang các job sau và lưu báo cáo test và coverage, mà GitLab hiển thị ngay trong merge request.
- interruptible: true kết hợp với “auto-cancel redundant pipelines” sẽ dừng các pipeline cũ khi bạn push lại.
Bí mật (Secrets)
Không bao giờ đưa mật khẩu hoặc khóa vào file YAML. Hãy thêm chúng trong Settings → CI/CD → Variables (đặt masked và protected) — job deploy cần SSH_PRIVATE_KEY và SSH_KNOWN_HOSTS ở đó. Job Docker dùng các biến CI_REGISTRY có sẵn của GitLab nên không cần cấu hình thêm.
Bạn đang dùng GitHub? Hãy thử GitHub Actions Generator. Liên quan: Dockerfile Generator, YAML Validator.
Cũng được tìm dưới tên: gitlab ci generator, tạo file gitlab-ci.yml, gitlab pipeline generator, viết gitlab ci node, gitlab ci docker build, gitlab pages ci, mẫu gitlab ci.
Các công cụ dùng kèm tốt với Tạo GitLab CI
- Kiểm tra GitHub Actions — Dán workflow từ .github/workflows và tìm lỗi trước khi CI báo: trigger không hợp lệ, thiếu runs-on, needs sai, biểu thức lỗi, action lỗi thời và nguy cơ script injection.
- Trình tạo Docker Compose — Chọn các dịch vụ bạn cần — ứng dụng, cơ sở dữ liệu, cache, giao diện quản trị, công cụ bắt mail — và nhận file compose.yaml gọn gàng với image đã ghim phiên bản, named volume, healthcheck và điều kiện depends_on, cùng file .env có sẵn mật khẩu được tạo ngẫu nhiên.
- Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.
- Trình tạo systemd Service — Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash.