ทำความรู้จักกับ GitHub Actions
พอดีเราเลื่อน Facebook ไปเจอกิจกรรมนี้ จากเพจ Spark Tech Thailand - Tech ใกล้ตัว ก็เลยเข้าไปเรียนรู้ด้วยเลยแล้วกัน งานจัดขึ้นแบบ online ในวันเสาร์ที่ 7 พฤศจิกายน 2565 เวลา 20:00 - 21:30 น.
สามารถดู event ใน Facebook ได้นะ
.
ก่อนอื่นคนสอนในคํ่าคืนนี้แนะนำตัวก่อน
ส่วน Agenda ใน session นี้
What's Github Actions?
Repository Platfrom คืออะไร?
เป็น platform เพื่อแชร์ code หรือข้อมูลต่างๆ เพื่อการทำงานร่วมกัน หรือแชร์ผลงานตัวเองก็ได้ เช่น Github
การทำงานคือเราแก้ไข code บนเครื่องตัวเอง แล้วบิ้วโค้ดในเครื่องของเรา และ upload ขึ้นไปใน Repository Platfrom
เราทำส่วนเหล่านี้ เช่น deploy เป็น automate เพื่อลดการทำงานซํ้าๆ ให้มีนทำงานเองทุกครั้งในการแก้ไขไฟล์ ตอน build หรือ deploy
Github Action ทำหน้าที่อะไร?
เป็น automate workflow (บางที่ใช้คำอื่น เช่น pipeline) ช่วยลดงาน routine ให้กลายเป็น automation ให้เรามีเวลาไป develop ในส่วนอื่น แล้วก็ใช้เป็นตัว manage ในการอัพขึ้น cloud ด้วยนะ
ถ้าเป็น public repository จะใช้ฟรียาวๆ ส่วน private repository ใช้ฟรีในโควต้า 2000 นาที/เดือน เพียงพอกับโปรเจกต์เล็กๆ งาน idea ต่างๆ งานส่งอาจารย์
Workflow คืออะไร?
เป็นไฟล์ที่เขียนการทำงาน หรือการ execute ต่างๆ ผ่าน agent มีเครื่อง 2 แบบ คือ
- Github-host : เครื่องของทาง Github
- Self-host : ใช้เครื่องของเรา หรือ cloud ที่อื่น
มี marketplace ใช้ในการควบคุมการ deploy งานต่างๆได้อย่างง่ายดาย อยากให้ลองไป shopping ของที่เราจะใช้ในการทำ Github Action ก่อนที่จะเริ่มทำ Workflow จริง
แล้วเขาก็มี API ให้ใช้ด้วยนะ อันนี้ช่วยในเรื่องการทำคำสั่งต่างๆอย่างอัตโนมัติ เช่น มีคนเปิด issue มาว่า build database หรือยัง แล้วมันก็ไปทำ issue นี้ให้
How Github Actions Work?
สร้าง file yml ขึ้นมา การทำงานหลักๆจะประกอบด้วย
- Events : เหตุการณ์อะไรบางอย่างที่กระทำในนั้น เช่น code change, merge request
- Jobs : รัน job ต่างๆตามที่เราสั่ง ทำงานบน Github-host หรือ Self-host ก็ได้
- Actions : อันนี้เป็น action ว่าให้มันทำอะไรบ้าง
การทำงานของ Github Actions
ตัวอย่างนี้ developer push code ขึ้นไปบน Github เป็นการ trigger event ว่า เอ้ยย มีคน push code มาแล้ว จากนั้นก็ทำงานตามงานที่ได้รับมอบหมาย
- run action : package ที่เราใช้จากการเลือกใน marketplace
- run script : run ผ่าน command line หรือ bash หรือ shell script
อันนี้ไฟล์ demo จ้า
name
: ชื่อ workflow ของเราon
: event ที่เราต้องการ ในที่นี้คือเมื่อมีการ push code ที่ branch main และ pathch01/**
มีการเปลี่ยนแปลง จึงจะทำงานได้jobs
: เราจะให้ทำงานเครื่องไหน ใส่ตรงruns-on
ซึ่งรองรับทุก platform รวมถึง iOS และ Android ด้วย ใช้ build และ compile ได้หมด ส่วนsteps
ถ้าเป็นuses
คือ ใช้ run action ส่วนname
และrun
ใช้ run script
Create First Workflow
สร้างไฟล์ .yml
ใน folder .github/workflows
ในที่นี้ใช้ชื่อว่า ch01.yml
ใน VS Code จะมี plug-in 3rd-party ของตัว Github Action อยู่ ให้เลือกอันที่มีคนใช้เยอะๆกับดาวเยอะๆ
เมื่อ push code ขึ้นไปแล้ว เจ้า workflow ก็จะเริ่มทำงานทันที
เมื่อทำงานเสร็จในแต่ละรอบ มันจะ clean ให้เรา ไม่ต้องไปลบเอง
อันนี้ตัว github ที่เขา demo อะนะ
แหล่งความรู้
document ของ Github Actions
อันนี้แหล่งเรียนรู้ของ Github
Q & A
สำหรับนักเรียน นักศึกษา สามารถใช้ email มหาวิทยาลัย หรือโรงเรียน เพื่อใช้เพิ่มหรีใน student pack ได้ ซึ่งคนทำงานที่ยังมี email มหาวิทยาลัยอยู่ก็ใช้ได้เหมือนกัน
แหล่งเรียนรู้เรื่องโค้ด
ส่วนเรื่องแพลนราคาต่างๆไปดูได้ที่นี่เลย
สุดท้ายเขาฝากกลุ่มใหม่ Visual Studio and GitHub Community Thailand ไว้ด้วยนะ
สำหรับเราอาจจะดูเพิ่มไว้หน่อยเผื่อได้ใช้งานกับฝั่ง Android เนอะ session นี้ก็ทำให้เราเข้าใจ Github Actions มากขึ้น
สามารถ support ค่ากาแฟเจ้าของบล็อกได้ที่ปุ่มแดงส้มสุดน่ารักที่มุมซ้ายล่าง หรือกดปุ่มตรงนี้ก็ได้จ้า
ติดตามข่าวสารและบทความใหม่ๆได้ที่
ช่องทางใหม่ ติดตามทุกๆสตรีมของเราได้ที่
Subscribe ช่อง YouTube ของเราได้ที่
download แอพอ่านบล็อกใหม่ของเราได้ที่นี่