ในโลกของการพัฒนาซอฟต์แวร์ที่หมุนไปอย่างรวดเร็ว การปล่อยโค้ด (Deployment) และการทดสอบระบบ (Testing) ด้วยวิธีการแบบ Manual นั้นถือเป็นคอขวดสำคัญที่ทำให้วงจรการพัฒนาช้าลง เครื่องมืออัตโนมัติจึงกลายเป็นหัวใจหลักของการทำงาน DevOps เพื่อให้มั่นใจว่าทุกครั้งที่มีการเปลี่ยนแปลงโค้ด จะถูกตรวจสอบและนำไปใช้งานได้อย่างรวดเร็ว ปลอดภัย และเชื่อถือได้
เจาะลึกรายละเอียดและประเด็นสำคัญ
GitHub Actions คือระบบ CI/CD (Continuous Integration/Continuous Deployment) ที่ทำงานบน GitHub โดยใช้ไฟล์ YAML ในการกำหนด Workflow ซึ่งเป็นชุดของงานอัตโนมัติที่ต้องการให้เกิดขึ้น เมื่อมีเหตุการณ์บางอย่างมากระตุ้น (Trigger) แนวคิดหลักคือการแบ่งกระบวนการออกเป็น 3 ส่วนย่อย: Workflow (ภาพรวมของขั้นตอนทั้งหมด), Job (ชุดงานที่ต้องรันพร้อมกัน เช่น Build และ Test), และ Step (คำสั่งย่อยๆ ที่ทำงานภายใน Job นั้นๆ)
การตั้งค่า Event Triggers เป็นสิ่งที่ทรงพลังที่สุด เพราะมันกำหนดว่า Workflow จะเริ่มทำงานเมื่อใด เช่น เมื่อมีการ push โค้ดไปยัง Branch หลัก หรือเมื่อมีคนสร้าง/อัปเดต Pull Request (PR) ซึ่งช่วยให้เราสามารถรันการทดสอบโค้ดได้ทันทีที่ผู้พัฒนาส่งงานมา ทำให้ตรวจพบข้อผิดพลาดตั้งแต่เนิ่นๆ ก่อนที่จะรวมเข้ากับโค้ดหลัก
Plain Text
name: CI Build and Test Workflow
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # Step 1: Checkout โค้ด
- name: Set up Python
uses: actions/setup-python@v4 # Step 2: Setup Environment
with:
python-version: '3.x'
- name: Install dependencies
run: pip install -r requirements.txt # Step 3: ติดตั้งไลบรารี
- name: Run tests
run: pytest # Step 4: รันการทดสอบ