แคตตาล็อกขั้นตอน (Catalog)
แคตตาล็อกนี้แสดง task ทั้งหมด 13 รายการจาก registry ปัจจุบัน สามารถอ้างอิงในไฟล์ .loha.yml ด้วย uses: loha/<task>@<major-version> ทั้งนี้ ความพร้อมใช้งานจริงขึ้นกับเวอร์ชันของแพลตฟอร์มและการตั้งค่าของแต่ละ workspace
ข้อมูลพารามิเตอร์และสภาพแวดล้อมรันไทม์ในแคตตาล็อกนี้สร้างขึ้นจาก registry ขณะ build โปรดตรวจสอบความพร้อมใช้งานกับเวอร์ชันของแพลตฟอร์มและการตั้งค่า workspace ของคุณก่อนนำไปใช้งานจริง
Source Control (การจัดการซอร์สโค้ด)
ขั้นตอนสำหรับนำซอร์สโค้ดเข้าสู่ workspace และส่งการเปลี่ยนแปลงกลับไปยัง Git repository
| Task | วัตถุประสงค์ |
|---|---|
loha/git-clone@v1 | โคลน repository ที่เป็นจุดเริ่มต้นของ build หรือจาก Git URL อื่นลงใน workspace |
Build (การสร้างอิมเมจและแคช)
ขั้นตอนการสร้าง container image และการบร ิหารจัดการ dependency cache
| Task | วัตถุประสงค์ |
|---|---|
loha/buildah-build@v1 | สร้างและ push OCI container image แบบ rootless ด้วย Buildah |
loha/docker-build@v1 | สร้างและ push container image จาก Dockerfile ด้วย Kaniko แบบไม่ต้องพึ่งพา Docker daemon |
loha/cache@v2 | บันทึกและกู้คืนแคชของ dependency ระหว่างการรัน pipeline เพื่อเร่งความเร็ว |
Test & Lint (การทดสอบและตรวจโค้ด)
ขั้นตอนการตรวจ lint, การตรวจสอบ static type และการรันชุดทดสอบ
| Task | วัตถุประสงค์ |
|---|---|
loha/run-tests@v1 | รันชุดทดสอบ (test suite) รองรับทุกภาษาและเฟรมเวิร์ก เช่น npm, pytest, go test และ make |
loha/run-lint@v1 | รันคำสั่ง lint เช่น ESLint, ruff, golangci-lint หรือ rubocop บนซอร์สโค้ด |
loha/type-check@v1 | รันคำสั่งตรวจ type เช่น tsc --noEmit, mypy, pyright หรือ flow โดยไม่รันชุดทดสอบ |
Deploy (การส่งมอบและติดตั้ง)
ขั้นตอนการ deploy manifest, อัปเดตเซิร์ฟเวอร์ และเวิร์กโฟลว์ GitOps
| Task | วัตถุประสงค์ |
|---|---|
loha/git-update-manifest@v1 | อัปเดต image tag ในไฟล์ GitOps manifest แล้ว commit กลับไปยัง repository |
Security (ความปลอดภัยและการสแกน)
ขั้นตอนการสแกนหาช่องโหว่ความปลอดภัย และตรวจความปลอดภัยของ dependency หรืออิมเมจ
| Task | วัตถุประสงค์ |
|---|---|
loha/trivy-scan@v2 | สแกนหาช่องโหว่ในซอร์สโค้ดหรือ container image ด้วย Trivy scanner พร้อมอัปโหลดหลักฐานผลสแกน |
Utilities (เครื่องมือและยูทิลิตี้ทั่วไป)
คำสั่ง shell ทั่วไป, การจัดเก็บ artifact และการส่งข้อความแจ้งเตือน
| Task | วัตถุประสงค์ |
|---|---|
loha/run-command@v1 | ทางเลือกยืดหยุ่นสำหรับรันคำสั่ง shell ใดก็ได้ภายใน container image ที่กำหนด |
loha/notify-line@v1 | ส่งข้อความแจ้งเตือนสถานะ build ไปยังผู้ใช้หรือกลุ่ม LINE ผ่าน LINE Messaging API |
loha/notify-webhook@v1 | ส่งการแจ้งเตือนไปยัง Slack, Discord, Microsoft Teams หรือปลายทาง Webhook อื่นๆ |
loha/upload-artifact@v1 | เผยแพร่ผลลัพธ์ build ขึ้นสู่ระบบจัดเก็บ Artifact ของ Loha เป็นไฟล์ให้ผู้คนดาวน์โหลด |
การระบุเวอร์ชัน
ตัวอ้างอิงใน pipeline จะต้องระบุ major version เช่น v1 หรือ v2 โดยโปรดตรวจสอบพารามิเตอร์ รันไทม์ และความเข้ากันได้จาก registry ของเวอร์ชันที่กำลังใช้งานอยู่เสมอ