
หลังจากทำรวมรู้จักกับ GitHub Actions และลงทะเบียนขอใช้งานไป
วันนี้ก็รับ email แจ้งว่า สามารถเข้าลองใช้งานได้แล้ว
เมื่อไปดูใน repository ของเราที่ GitHub
ก็จะมี menu ชื่อว่า Actions ขึ้นมาดังนี้

ลองเข้าไปใช้งานกันดู
ขั้นตอนแรกต้องทำการสร้าง Workflow ของการทำงาน
แน่นอนว่า เพื่อความง่ายและสะดวกต่อการเริ่มใช้งาน
จึงมี template หรือตัวอย่างของ project แต่ละประเภทและภาษาให้เลย

โดยจาก repository ที่ทดลองใช้งานเป็น Java + Gradle project
ทำการ setup workflow กันเลย

จะทำการสร้างไฟล์ gradle.yml ใน folder .github/workflows ขึ้นมาดังนี้

ต่อจากนี้ต้องทำการออกแบบ Workflow CI/CD ของ project กัน
ว่าจะมีขั้นตอนการทำงานอย่างไรบ้าง ยกตัวอย่างเช่น
- ทำการ build เมื่อมีการ push มายัง branch ที่กำหนด ค่า default คือ branch master
- ให้ build บนระบบปฏิบัติการอะไร เป็น VM และสามารถกำหนดเป็น matrix ได้อีกด้วย มีให้เลือกดังนี้
- Ubuntu
- Windows
- MacOS
- กำหนด steps หรือขั้นตอนการ build ตามที่ต้องการ เช่น
- compile
- testing
- packaging
- deploy
สามารถเขียน Workflow ได้ดังนี้
[gist id="f3f7227ed1452c76115ab2df63c0f6fc" file="gradle.yml"]โดย syntax ของการเขียน workflow สามารถดูได้จาก
Workflow syntax for GitHub Actions
เมื่อทำการ push code มาที่ repository แล้ว
จะทำการ run ดังนี้

รายละเอียดของการ build เป็นดังนี้

เพียงเท่านี้ก็ใช้งานได้แล้ว
ยังไม่พอนะ สามารถออกแบบ workflow ในรูปแบบ visualize ได้อีกด้วย
เพียงสร้างไฟล์นามสกุล workflow มาเท่านั้น
จะสามารถใช้งานได้ดังรูป

แต่ย้ำว่า GitHub Actions ยังอยู่ในสถานะ beta เท่านั้น
ดังนั้นยังมีการเปลี่ยนแปลงไปได้อีกมากมาย
แต่ถึงอย่างไรก็มาลองใช้งานกันดูครับ