ก้าวแรกกับการใช้ GitHub Actions
- ruby
- github
- actions
GitHub Actions เป็นเครื่องมือ CI/CD หนึ่งที่จะช่วยให้เราทำงานแบบ automation ได้ หวังว่าบทความจะเป็นก้าวแรกที่จะจุดประกายให้นำ automation tools ต่างๆ เข้าไปใช้ในโปรเจ็คกัน สำหรับตัวอย่างในบทความนี้ก็จะเป็นโจทย์ง่ายๆ ที่จะใช้ Actions ในการทดสอบโปรแกรมหลังจากที่ push code ขี้นไป รวมถึงมีการตรวจสอบความครอบคลุมในการทดสอบด้วย Codecov และจะแสดง badge แสดงสถานะที่เกิดขึ้นไว้ด้วย
ตัวอย่างที่สำเร็จแล้ว
เริ่มต้นกันเลย
- สร้างโปรเจค เขียนเทส และก็โค้ด
- สร้าง repository บน GitHub และอัพโหลดโค้ดขึ้นไป
- เข้าไปที่เมนู Actions จากนั้นก็เลือก Workflows ที่จะใช้งาน อันนี้ก็ขึ้นอยู่กับภาษาที่ใช้ สำหรับของผมก็จะเลือกใช้ Workflow สำหรับ Ruby
- โดยเบื้องต้นเมื่อกด setup ก็จะมีการสร้างไฟล์ yml ตามชื่อภาษาที่เราใช้ หรือเราสามารถเปลี่ยนชื่อก็ได้ และสร้างไว้ในโฟลเดอร์
.github/workflows
จากนั้นก็ปรับค่าต่างๆ เช่น- event ที่จะใช้ trigger ให้ทำงาน ซึ่งสนใจเฉพาะการ push โค้ดเข้ามาที่ branch main เท่านั้น
- job ที่ระบุไว้ใน workflow นี้จะมีแค่ test เท่านั้น แต่จะเห็นว่าในการ test ประกอบไปด้วย step หลายๆ step ด้วยกัน
- กดบันทึกไฟล์ workflow จากนั้นจะเห็นว่า GitHub Actions เริ่มทำงานโดยอัตโนมัติในการทดสอบโค้ดให้กับเรา
- เพิ่ม step ให้กับ workflow ของเราให้อัพโหลด code covergage ไปยัง codecov.io
- เราสามารถเพิ่ม cache ให้กับ workflow ได้ด้วยเช่นกัน เพื่อให้การการทำงานดีขึ้น
- สุดท้ายก็ใส่ badge เข้าไปที่ README เพื่อใช้แสดงสถานะปัจจุบันของโค้ดเราว่าทดสอบผ่านหรือไม่ รวมถึง code coverage ได้กี่เปอร์เซนต์