Section 9: Lab: Multibranch Pipeline กับ GitHub
- สร้าง Multibranch Pipeline ที่ค้นหา Branch และ Pull Request อัตโนมัติ
- เชื่อม GitHub ด้วย Credentials และตั้ง Webhook ให้ Build ทุกครั้งที่ Push
- ส่งสถานะ Build กลับไปที่ Pull Request
- กำหนดพฤติกรรมต่างกันระหว่าง Branch หลัก Branch ย่อย และ Pull Request
- Lab: เปิด Pull Request แล้วดู Pipeline ทำงานและรายงานผล
Section 10: Lab: Agent และ Docker Agent
- เพิ่ม Agent ผ่าน SSH หรือแบบ Inbound และกำหนด Label
- ติดตั้ง Docker บน Jenkins Agent และเชื่อมกับ Controller
- ใช้ agent { docker } ให้แต่ละ Stage รันใน Container ของตัวเอง
- Cache ของ Dependency และ Workspace เพื่อให้ Build เร็วขึ้น
- Lab: ใช้ Container ต่างกันสำหรับ Build ฝั่ง Java และฝั่ง Python
Section 11: Lab: Build, Test และรายงานผล
- Build ด้วย Maven และ pip พร้อมรัน Unit Test
- เก็บรายงาน JUnit และแสดงแนวโน้มผลการทดสอบ
- วัด Code Coverage และแสดงผลใน Jenkins
- archiveArtifacts, stash และ unstash ระหว่าง Stage
- Lab: ทำให้ Pipeline ล้มเมื่อ Test ไม่ผ่านและแจ้งสาเหตุให้ชัด
Section 12: Lab: Build และ Push Docker Image ใน Pipeline
- Build Image ใน Pipeline และติด Tag ด้วย Git Commit
- Login Registry ด้วย withCredentials โดยไม่ให้รหัสผ่านโผล่ใน Log
- Push Image ขึ้น Docker Hub หรือ GitHub Container Registry
- สแกนช่องโหว่ของ Image ด้วย Trivy และกำหนดเกณฑ์ให้ Pipeline ล้ม
- Lab: Pipeline ที่ Build, สแกน และ Push Image อัตโนมัติ