🔥 Nếu bạn đang tìm hiểu về CI/CD thì không thể bỏ qua Jenkins – một trong những công cụ lâu đời và phổ biến nhất trong thế giới DevOps/NetDevOps.
Jenkins ra đời từ thời kỳ đầu của CI/CD, và đến nay vẫn là lựa chọn hàng đầu của nhiều tổ chức nhờ vào:
Jenkins Pipeline & Jenkinsfile
Điểm đặc biệt của Jenkins là Pipeline – nơi định nghĩa toàn bộ quy trình CI/CD.
Ví dụ đơn giản:
pipeline { agent any environment { CI_REGISTRY_IMG_DB = "net_inventory_db" } stages { stage('Build') { steps { echo "BUILD DB" } } stage('Deploy') { steps { sh 'python3 deploy.py' } } } }
Trải nghiệm trực quan với Blue Ocean
Jenkins cung cấp UI mới gọi là Blue Ocean giúp bạn:
👉 Nếu bạn đang làm trong môi trường DevOps/Automation hoặc NetDevOps, Jenkins vẫn là lựa chọn cực kỳ mạnh mẽ để:
💡 Gợi ý: Hãy bắt đầu với Jenkinsfile cơ bản trong GitHub repo của bạn, sau đó triển khai Jenkins trên Docker để thử nghiệm pipeline thực tế.
Jenkins ra đời từ thời kỳ đầu của CI/CD, và đến nay vẫn là lựa chọn hàng đầu của nhiều tổ chức nhờ vào:
- Mở rộng mạnh mẽ (Extensible): Jenkins có hàng ngàn plugin cho mọi kịch bản DevOps. Bạn có thể bắt đầu từ CI cơ bản rồi mở rộng sang CI/CD toàn diện.
- Open Source & cộng đồng lớn: Dễ dàng tìm tài liệu, kinh nghiệm triển khai, hỗ trợ.
- Đa dạng môi trường cài đặt: Chạy trên Docker, VM, macOS, FreeBSD, Ubuntu/Debian, RedHat/CentOS/Fedora, hoặc package Java. Jenkins cũng có thể triển khai trực tiếp trên Azure.
- Tự quản lý 100%: Jenkins không có SaaS chính thức, nghĩa là bạn toàn quyền kiểm soát hạ tầng.
Jenkins Pipeline & Jenkinsfile
Điểm đặc biệt của Jenkins là Pipeline – nơi định nghĩa toàn bộ quy trình CI/CD.
- Jenkinsfile:
- Mặc định nằm ở thư mục gốc của project.
- Viết bằng ngôn ngữ Groovy.
- Tổ chức pipeline theo stages và steps.
- Có thể quản lý trong SCM (GitHub, GitLab, v.v.) – best practice để đồng bộ pipeline cùng với source code.
Ví dụ đơn giản:
pipeline { agent any environment { CI_REGISTRY_IMG_DB = "net_inventory_db" } stages { stage('Build') { steps { echo "BUILD DB" } } stage('Deploy') { steps { sh 'python3 deploy.py' } } } }
Trải nghiệm trực quan với Blue Ocean
Jenkins cung cấp UI mới gọi là Blue Ocean giúp bạn:
- Thấy pipeline trực quan, dễ quản lý hơn.
- Thêm/sửa/xóa stages & steps trực tiếp bằng giao diện.
- Theo dõi trạng thái build: ✅ xanh (pass), ❌ đỏ (fail).
- Tích hợp GitHub để hiển thị kết quả check và hỗ trợ merge request an toàn.
👉 Nếu bạn đang làm trong môi trường DevOps/Automation hoặc NetDevOps, Jenkins vẫn là lựa chọn cực kỳ mạnh mẽ để:
- Tự động build, test, deploy.
- Kết hợp hạ tầng mạng + code (Infrastructure as Code).
- Quản lý vòng đời dự án theo chuẩn CI/CD.
💡 Gợi ý: Hãy bắt đầu với Jenkinsfile cơ bản trong GitHub repo của bạn, sau đó triển khai Jenkins trên Docker để thử nghiệm pipeline thực tế.