Đề 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á (4)
Thực hành thú vị và trực tiếp.
Balavignesh Elumalai - Scottish Power
Khóa học - SonarQube for DevOps
Dịch thuật bằng máy
Giảng viên có kinh nghiệm sâu rộng và trình bày rất tốt. Độ sâu của kiến thức cùng với niềm đam mê giảng dạy được đánh giá cao.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Khóa học - Jenkins 2: Building CI/CD Pipelines
Dịch thuật bằng máy
Được giới thiệu về một số công nghệ mà tôi ước mình đã biết sớm hơn.
Michel - Vanier College
Khóa học - DevOps Practical Implementation and Tools
Dịch thuật bằng máy
Tôi thích tất cả các khả năng mà tôi đã phát hiện trong khóa học về DevOps, những điều tôi có thể áp dụng để có quy trình CD/CI tốt hơn!
Juan Manuel - si
Khóa học - Jenkins: Continuous Integration for Agile Development
Dịch thuật bằng máy