Circle CI กับ Python

Sunday, October 15, 2017 11:39 AM 0 Comments

วันนี้จะเป็นบันทึกการทดลองเล่น Circle CI โดยจะให้เจ้า Circle CI นั้นเชื่อมต่อกับ Gtihub ในการรัน Test ซึ่ง Circle CI ก็จะมี Plan ต่างๆดังนี้ https://circleci.com/pricing/ ในที่นี้เราก็จะใช้ Free Plan

สิ่งที่ต้องการ
- Github Public Repo ที่มี Test อยู่แล้ว (ถ้าไม่มีก็เริ่มเขียน Test ซะตั้งแต่วันนี้)
- Circle CI (แค่ Login ด้วย Github User)

ทำการ Setup Project กับ Circle CI

- ทำการเพิ่ม Project ในเวป Circle CI จากเมนู Add Project ทางด้านซ้าย



- เลือก Operating System และ Platform ในที่นี้จะใช้เป็น Linux และ Platform version 2.0  (version 2.0 เราสามารถใช้ Docker image ในการรันได้)



- เลือก ภาษา ที่ใช้ ในที่นี้ผมลองใช้ Python ในการรัน

- เมื่อเลื่อนลงมาด้านล่างจะมีคำแนะนำให้สร้าง Folder .circleci และ ไฟล์ config.yml โดยจะมี Config เบื้องต้นให้เรานำไปใส่ในไฟล์ config.yml ได้เลย

- โดยผมมีการปรับแก้เล็กน้อยตรงคำสั่งในการรัน Test โดยผมแก้เป็น


python -m unittest discover ./tests/

ตัวอย่างไฟล์ .circleci/config.yaml

- ทำการ commit และ Push

- กดปุ่ม Start Building ใน Circle CI



- ระบบ  Circle CI ก็จะทำการ Setup Envoriment และตั้งค่าต่างๆตาม config.yaml ของเรา เมื่อมาดู Result ในการ run test ก็จะเห็นว่าสำเร็จเรียบร้อยดี





- เมื่อเรามีการแก้ไข code ของเราและ Push code เข้าไปใน github ระบบก็จะทำ Build และ Test ให้อัตโนมัติ พร้อมมี Email แจ้งเตือนอย่างสวยงาม



เป็นอันเสร็จสิ้นการทดลองเล่น Circle CI ในเบื้องต้น 

เราสามารถนำ Badge การ Build & Test มาแปะในหน้าเวปของเราได้โดยเข้าไปที่ Setting ของ Project ใน Circle CI และเลือก Status Badges



สรุป
จากความรู้สึกในการเล่น Circle CI ครั้งแรก มีความรู้สึกว่าระบบของ Circle CI build ได้รวดเร็วกว่าของทาง Travis CI สามารถดู Code ตัวอย่างได้ที่ https://github.com/kittinan/my-learn-circleci

Ref:

0 comments: