
ที่มาภาพ: Unknown Source
วิธีตั้งค่า CI / CD อัตโนมัติสำหรับแอป Flutter ด้วย GitHub Actionsบนคลาวด์ฟรี
⚡ สรุป 30 วิ
การทำ **CI/CD** สำหรับแอป Flutter ช่วยให้โค้ดถูกตรวจสอบและปล่อยเวอร์ชันใหม่โดยอัตโนมัติ ลดความผิดพลาดจากขั้นตอน manual และเร่งเวลานำผลิตภัณฑ์สู่ผู้ใช้ได้เร็วขึ้น บทความนี้จะสอนวิธีตั้งค่า GitHub Actio…
บทนำ
การทำ CI/CD สำหรับแอป Flutter ช่วยให้โค้ดถูกตรวจสอบและปล่อยเวอร์ชันใหม่โดยอัตโนมัติ ลดความผิดพลาดจากขั้นตอน manual และเร่งเวลานำผลิตภัณฑ์สู่ผู้ใช้ได้เร็วขึ้น บทความนี้จะสอนวิธีตั้งค่า GitHub Actions เพื่อรัน CI/CD บนคลาวด์ฟรีอย่างเป็นระบบและเข้าใจง่าย
Overview – ภาพรวม
GitHub Actions ให้คุณกำหนด workflow ที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์เช่น push หรือ pull request เราจะสร้างไฟล์ workflow ที่ติดตั้ง Flutter, รัน unit test, build APK/AAB และส่งผลลัพธ์ไปยัง GitHub Artifacts
- Workflow จะอยู่ในโฟลเดอร์ `.github/workflows` ของ repository
- สามารถเลือก runner ฟรีจาก GitHub (ubuntu‑latest) หรือใช้ self‑hosted runner บน Google Cloud Free Tier
- ผลลัพธ์ของ build จะถูกเก็บเป็น artifact เพื่อดาวน์โหลดหรือส่งต่อให้บริการอื่น
Prerequisites – สิ่งที่ต้องเตรียมก่อน
เพื่อเริ่มต้นใช้งาน GitHub Actions สำหรับ Flutter ต้องมีสิ่งเหล่านี้พร้อม
- Repository บน GitHub ที่มีโค้ด Flutter อยู่แล้ว
- Flutter SDK เวอร์ชันที่ต้องการ (ระบุใน workflow)
- สิทธิ์ write permission ใน repository เพื่อให้ workflow สามารถอัปโหลด artifact ได้
- หากต้องการใช้ Google Cloud Build หรือ Firebase App Distribution ต้องสร้าง Service Account Key และเก็บไว้เป็น secret
Step‑By‑Step – ขั้นตอนตั้งค่า CI/CD
1. สร้างไฟล์ workflow
```yaml name: Flutter CI/CD
on: push: branches: [ main ] pull_request: branches: [ main ]
jobs: build: runs-on: ubuntu-latest ```
- **ขั้ นตอน 1: กำหนด trigger ให้ทำงานเมื่อมีการ push หรือเปิด pull request ไปยัง branch `main`
2. ติดตั้ง Flutter
```yaml steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Flutter
uses: subosito/flutter-action@v2 with: flutter-version: '3.13.0' ```
- **ขั้ นตอน 2: ใช้ Action `subosito/flutter-action` เพื่อติดตั้ง Flutter เวอร์ชันที่กำหนด
3. ตรวจสอบโค้ดและรัน test
```yaml
- name: Pub get
run: flutter pub get
- name: Run unit tests
run: flutter test --no-pub ```
- **ขั้ นตอน 3: ดึง dependencies แล้วรัน unit test เพื่อให้แน่ใจว่าโค้ดทำงานถูกต้อง
4. Build แอปสำหรับ Android
```yaml
- name: Build APK
run: flutter build apk --release
- name: Upload artifact
uses: actions/upload-artifact@v3 with: name: android-apk path: build/app/outputs/flutter-apk/app-release.apk ```
- **ขั้ นตอน 4: สร้างไฟล์ APK เวอร์ชัน release แล้วอัปโหลดเป็น artifact
5. (Optional) Deploy ไปยัง Firebase App Distribution
```yaml
- name: Upload to Firebase
uses: wzieba/Firebase-Distribution-Github-Action@v1 with: appId: ${{ secrets.FIREBASE_APP_ID }} token: ${{ secrets.FIREBASE_TOKEN }} file: build/app/outputs/flutter-apk/app-release.apk ```
- **ขั้ นตอน 5: หากต้องการให้ทีมทดสอบอัตโนมัติ ให้ตั้งค่า Firebase App ID และ Token เป็น secret ใน repository
Tips – เคล็ดลับสำคัญ
อย่าลืมกำหนด secret อย่างปลอดภัยใน Settings > Secrets > Actions เพื่อป้องกันข้อมูลรหัสผ่านหรือ token ไม่ให้เปิดเผยต่อสาธารณะ
ควรใช้ `flutter pub outdated` ก่อน commit เพื่อตรวจสอบเวอร์ชัน dependency ที่ล้าสมัยและลดโอกาสเจอ error ใน CI
Comparison – ตัวเลือกคลาวด์ฟรีสำหรับ runner
| Provider | ฟรี tier | รองรับ Ubuntu runner | เพิ่มเติม |
|---|---|---|---|
| GitHub Actions | 2,000 นาที/เดือน | ใช่ | ไม่ต้องตั้งค่า server เอง |
| Google Cloud Build | 120 นาที/วัน | ใช่ (via Docker) | ต้องสร้าง service account |
| Azure Pipelines | 1,800 นาที/เดือน | ใช่ | รองรับ Windows/macOS เพิ่มเติม |
- GitHub Actions เหมาะกับโครงการขนาดเล็กถึงกลางที่ต้องการความสะดวกและไม่มีค่าใช้จ่ายเพิ่ม
- Google Cloud Build ให้ประสิทธิภาพสูงเมื่อใช้ร่วมกับ Firebase แต่ต้องตั้งค่า service account และอาจเจอข้อจำกัดเรื่องเวลาการรัน
Summary – สรุปสำคัญ
- ตั้งค่า workflow ใน `.github/workflows` เพื่อให้ CI/CD ทำงานอัตโนมัติบน Ubuntu runner ฟรีของ GitHub
- ใช้ Action `subosito/flutter-action` เพื่อติดตั้ง Flutter เวอร์ชันที่ต้องการโดยไม่ต้องจัดการสภาพแวดล้อมเอง
- รัน unit test, build APK/AAB แล้วเก็บเป็น artifact หรือส่งต่อไปยัง Firebase App Distribution ผ่าน secret ที่ปลอดภัย
- เลือก runner ฟรีตามความต้องการ: GitHub Actions ให้ใช้งานง่ายที่สุด ส่วน Google Cloud Build เหมาะกับผู้ที่ใช้บริการของ Google อย่างเต็มรูปแบบ
**สิ่งที่ควรจำ: การตั้งค่า CI/CD อย่างถูกต้องช่วยให้ทีมพัฒนา Flutter ปลอดภัยจากข้อผิดพลาด manual, เร็วขึ้นในการส่งอัพเดท และประหยัดเวลาโดยใช้คลาวด์ฟรีอย่างมีประสิทธิภาพ.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่า CI / CD อัตโนมัติสำหรับแอป Flutter ด้วย GitHub Actionsบนคลาวด์ฟรี
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 7 กรกฎาคม 2569 เวลา 19:50
- URL ต้นฉบับ
- https://thaitech.news/articles/growth-851707



