Đề cương khóa học
Chủ quyền CI nhẹ
- Lý do các dịch vụ CI/CD trên đám mây tạo ra rủi ro ràng buộc nhà cung cấp và lộ thông tin bí mật.
- Mục tiêu thiết kế của Woodpecker CI: đơn giản, nguyên sinh Docker, không phụ thuộc vào nền tảng (forge-agnostic).
- So sánh với GitHub Actions, GitLab CI, Drone và Jenkins.
Triển khai Server và Agent
- Bộ stack Docker Compose: server, agents và cơ sở dữ liệu.
- Biến môi trường và đăng ký OAuth với Forge.
- Nhãn (labels) của agent, lập kế hoạch dung lượng và giới hạn tài nguyên.
Soạn thảo Pipeline
- Cú pháp woodpecker.yml: các bước, dịch vụ và điều kiện.
- Lựa chọn image Docker và gắn kết thư mục làm việc.
- Thực thi song song và chuỗi phụ thuộc.
Tích hợp với Forge
- Cấu hình webhook cho Gitea và Forgejo.
- Lọc theo nhánh, kích hoạt pull request và sự kiện gắn thẻ (tag).
- Báo cáo trạng thái commit và tạo badge.
Bí mật (Secrets) và Bảo mật
- Phạm vi bí mật ở cấp độ kho lưu trữ, tổ chức và toàn cầu.
- Tiêm thông tin xác thực vào các giai đoạn triển khai.
- Cách ly mạng và phân biệt giữa các agent đáng tin cậy và không đáng tin cậy.
Bản dựng Ma trận và Bộ nhớ đệm
- Ma trận kiểm thử đa ngôn ngữ và đa phiên bản.
- Plugin bộ nhớ đệm cho các thư mục phụ thuộc.
- Tải lên kết quả lên lưu trữ tương thích S3.
Vận hành
- Xem nhật ký server, thông tin giám sát (telemetry) của agent và kiểm tra hàng đợi.
- Mở rộng quy mô các agent theo chiều ngang bằng Docker Swarm hoặc Kubernetes.
- Sao lưu và khôi phục lịch sử pipeline và các bí mật.
Yêu cầu
- Kinh nghiệm ở mức độ trung bình về Git và pipeline CI/CD.
- Kiến thức về quản trị máy chủ Linux và Docker.
- Sự quen thuộc với việc quản trị Gitea hoặc Forgejo.
Đối tượng hướng đến
- Các nhóm DevOps cần giải pháp CI tự lưu trữ, nhẹ nhàng cho Gitea/Forgejo.
- Các tổ chức muốn tránh sử dụng GitHub Actions hoặc GitLab CI dưới dạng dịch vụ SaaS.
- Các nhóm nhỏ và vừa muốn nắm quyền kiểm soát pipeline mà không muốn sử dụng các công cụ cồng kềnh.
Đánh giá (2)
Tôi thích điều đó là tôi đã nhận được câu trả lời ngay lập tức cho các câu hỏi của mình.
Szabolcs Kriston - Ericsson
Khóa học - Advanced GitLab
Dịch thuật bằng máy
Tôi thích cách giao tiếp dễ dàng giữa người hướng dẫn và chúng tôi, sự quan tâm đến các vấn đề của chúng tôi, những hiểu biết sâu sắc và kiến thức bổ sung được cung cấp qua câu trả lời cho các câu hỏi của chúng tôi. Tôi thích tốc độ, không lúc nào cảm thấy vội vàng, thậm chí khi có các vấn đề kỹ thuật. Mỗi chủ đề đều được xử lý một cách chu đáo.
Melania Mieczkowska - IAV Poland
Khóa học - Gitlab and Gitlab CI
Dịch thuật bằng máy