วิธีการเชื่อมต่อ Github กับ Travis-CI

Thursday, February 19, 2015 12:43 PM 1 Comments , , , ,

ต่อจากบทความ วิธีการอัพโหลด PHP Package ขึ้น Packagist บทความนี้ก็จะมาเล่าประสบการณ์ในการเชื่อมต่อ Github  กับ Travis-CI นะครับ โดยในบทความนี้จะไม่พูดถึง การเขียน Test PHP  ด้วย phpunit และ Continuous Integration คืออะไรแล้วนะครับ

มาเริ่มกันเลยครับ

1. Sign in Travis-CI ด้วย Username Github ที่ https://travis-ci.org/


2. เจ้า  Travis-CI ก็จะขอ Permission ต่างๆนาๆกับ  Github เราก็กด Authorize application  ไป


3. เมื่อ Login Travis-CI ด้วย Github User เรียบร้อยแล้ว ก็จะเข้าสู่หน้าตาที่ List Project ต่างๆของเราดังภาพ


4. กด ON ที่โปรเจคที่เราต้องการ ในที่นี่คือ kittinan/php-http ครับ

5. สร้าง Service Travis-CI ใน Github ของเราเพื่อที่เวลา Push Code เข้า Github แล้ว  Travis-CI จะได้ทำการ Build และ Test โดยวิธีการสร้าง Service  ทำดังนี้

  5.1 ไปที่ Travis-CI https://travis-ci.org/profile/info เพื่อนำ token ไปใส่ยัง Github Project ของเรา
  5.2 กลับมาที่ Github Project ของเรา ไปที่ Setting > Webhooks & Services > Add Services เลือก  Travis CI ใส่ Username และ token ที่ได้จากข้อ 5.1 เสร็จแล้วกด Add Service

6. สร้างไฟล์ .travis.yml ที่  Root Project ของเรา โดยสามารถดูรายละเอียดต่างๆได้ที่ Document ของ Travis-CI ได้ที่นี่ครับ http://docs.travis-ci.com/user/languages/php/

  6.1 Config file .travis.yml ที่ผมใช้ก็ตามลิ้งนี้เลยครับ https://gist.github.com/kittinan/30aca75a7c12776b11b2

language: php <-- เลือกภาษาที่จะใช้
php: <-- ให้ทดสอบ PHP Version อะไรบ้าง
- 5.5
- 5.4
- 5.3
- hhvm before_script: <-- ก่อนจะรัน script ทดสอบให้ทำอะไรบ้างในที่นี่คือไป Download composer มาและสั่งให้ install dependency ที่เราใช้งานครับ
- wget http://getcomposer.org/composer.phar
- php composer.phar install --dev --no-interaction script: <-- จะให้ Travis-CI รันอะไรบ้าง ในที่นี่คือรัน Test ที่อยู่ใน Folder /tests ครับ และยังสร้าง code coverrage ด้วยครับ
- phpunit ./tests
- mkdir -p build/logs
- phpunit --coverage-clover build/logs/clover.xml ./tests

7. เมื่อ Config .travis.yml เรียบร้อยก็ทำการ commit และ push ขึ้นไปยัง Github ครับ เจ้า Github ก็จะไปบอก Travis-CI ว่ามี code ใหม่ๆมาแล้วนะ Travis-CI ก็จะ Build & Test ตาม Config ที่เราสั่งครับ 

8. เข้าไปที่เวป travis-ci แล้วดู Project ที่เราเพิ่ง Push Code เข้าไปใหม่ มันจะแสดงสถานะการ Build & Test ให้เราดูดังภาพ


9. รอสักครู่จนมัน Test เสร็จหมด เย้ๆ เขียวหมดเลย



10. หากต้องการ badge เท่ๆมาติดที่หน้า README.md ให้กดตรง build passing ครับแล้วเลือก เป็น Markdown นำมาแปะที่หน้า README.md ได้เลยครับ ดังภาพ




เสร็จสิ้นการเชื่อมต่อ Github กับ Travis-CI แล้วครับ เดี๋ยวบทความต่อไปจะมาเล่าถึงวิธีการเชื่อมต่อ Github กับ scrutinizer-ci ซึ่งผมเอาไว้สร้าง badge code coverage และ code quality ครับ

1 comment:

  1. https://magnum.travis-ci.com
    สำหรับ private repo นะครับ

    ReplyDelete