Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Nếu dự án của bạn nằm trên GitLab, bạn đã có sẵn hệ thống CI/CD mạnh mẽ. Chỉ cần thêm một file .gitlab-ci.yml ở thư mục gốc, GitLab sẽ tự chạy pipeline mỗi khi có thay đổi. Bài này hướng dẫn xây một pipeline ba giai đoạn rõ ràng.
image: node:20-alpine
stages:
- build
- test
- deploy
cache:
key:
files:
- package-lock.json
paths:
- node_modules/
build:
stage: build
script:
- npm ci
- npm run build
artifacts:
paths:
- dist/
expire_in: 1 day
test:
stage: test
script:
- npm ci
- npm test
deploy_staging:
stage: deploy
script:
- echo 'Trien khai len staging'
environment:
name: staging
rules:
- if: $CI_COMMIT_BRANCH == 'main'image chọn image Docker để chạy job, nên môi trường luôn nhất quán. stages định thứ tự giai đoạn. cache lưu thư mục thư viện giữa các lần chạy, khóa theo nội dung package-lock.json để cache tự làm mới khi thư viện đổi. artifacts giữ lại thư mục dist để các job sau hoặc người dùng tải xuống.
Phần rules quyết định khi nào job chạy. Ở trên, job triển khai chỉ chạy khi đẩy lên nhánh main. Biến $CI_COMMIT_BRANCH là biến có sẵn do GitLab cung cấp.
Vào Settings, mục CI/CD, phần Variables để khai báo khóa API hoặc mật khẩu. Bạn có thể đánh dấu biến là masked (che khỏi log) và protected (chỉ dùng ở nhánh được bảo vệ). Trong script, dùng $TEN_BIEN như biến môi trường thông thường.
Với môi trường production, nhiều đội thích bấm nút xác nhận. Thêm when: manual vào job deploy production và job sẽ chờ một người bấm chạy:
deploy_production:
stage: deploy
script:
- echo 'Trien khai len production'
environment:
name: production
when: manual
rules:
- if: $CI_COMMIT_BRANCH == 'main'GitLab CI/CD dễ tiếp cận nhờ tích hợp sâu trong nền tảng. Hãy bắt đầu với hai stage build và test, chạy ổn rồi mới thêm deploy. Một pipeline nhỏ nhưng đáng tin còn hơn một pipeline lớn hay hỏng.
Để thực hành pipeline hoàn chỉnh có triển khai lên máy chủ, bạn có thể tìm các bài học phù hợp tại codebem.com.
Nguyễn Đình Cường
0 comment