- Published on
หมดปัญหาการลืม build application ที่ local machine ด้วย pre-commit
- Authors
- Name
- Panuwat Boonrod
- @nilpanuwat
Overview
เคยเจอปัญหานี้กันไหม เวลาที่เราแก้ไขงาน หรือ มีการแก้บัค หรือ implement ฟีเจอร์ต่างๆ และ เวลาที่เราจะ commit, push code ของเราขึ้นไปยัง remote branch และ ลืม build application เป็นเหตุให้เมื่อเราจะ deploy app ไม่ว่าจะเป็น env ใด ก็ตาม มีโอกาสที่จะ build ไม่ผ่านจากcode ที่เราเขียนไป ผมจึงมานั่งคิดว่า เราจะมีวิธีการไหนที่ทำให้เราไม่ลืม build application ก่อนที่จะ push code ของเราขึ้นไปยัง remote branch
จนมาเจอเจ้าตัวนึงที่เรียกว่า pre-commit เข้ามาช่วยแก้ปัญหาได้อย่างไร มาดู
1. Install pre-commit
using pip
$ pip install pre-commit
Check version
$ pre-commit --version
2. Configuration pre-commit
อันดับแรกสร้างไฟล์ script ที่เราต้องการเรียกใช้งานก่อน
#!/bin/bash
echo "========== App javascript bundler building.... =========="
yarn build
exit 0
จาก script สั่ง yarn build เพื่อทำการ build application
repos:
- repo: local
hooks:
- id: ts-build
name: Javascript building application to bundler
entry: ./build.sh
language: script
pass_filenames: false
3. Trigger pre-commit
จากตัวอย่าง ผมจะสร้าง config yaml ก่อน ด้วยการใช้งาน repo แบบ local เพื่อทำการ trigger script ของเราจากในเครื่อง และ ให้ไปอ่านไฟล์ script จาก ./pre-commit/build.sh
ที่เราสร้างไว้
ทีนี้เมื่อเราทำการ commit ไฟล์ใดๆจาก local ของเรา เจ้าตัว pre-commit จะทำงาน โดยการไป trigger script ของเรา แล้วจะทำการ build application ก่อนที่เราเขียนไปยัง remote branch ถ้า build ผ่าน จะไม่แสดง error message ใดๆ และสามารถที่จะ push ไปยัง remote branch ได้
เรียกว่าดีมากๆ เพราะ จะทำให้เรามั่นใจว่า code ที่เราเขียนไป จะ build ผ่านแน่ๆ
นอกจากนี้เรายังสามารถนำไปปรับใช้กีบเรื่องอื่นๆได้อีกเช่น การ trigger unit test, check white spaces
ลองดูรายละเอียดเพิ่มเติม -> here