Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปการติดตั้ง Local composer repository ด้วย Satis

$
0
0

satis.001-550x412

ปัจจุบันการพัฒนาระบบงานด้วยภาษา PHP น่าจะใช้งาน Composer สำหรับจัดการเรื่อง library หรือ dependency ต่าง ๆ
ปัญหาหลักของ composer คือ ความช้า
เนื่องจาก composer จะทำการ download สิ่งต่าง ๆ มาจาก Packagist :: The PHP Package Repository  ดังนั้นสิ่งที่เราต้องการคือ ปรับปรุงให้เร็วขึ้น ด้วยการติดตั้ง Repository repository เองไปเลย โดยสิ่งที่เราจะใช้งานสำหรับสร้าง Composer repository คือ Satis มาเริ่มกันดีกว่า

ก่อนอื่นมาดูโครงสร้างการทำงานปกติของ Composer

แสดงดังรูป satis.001-550x412 จากนั้นทำการติดตั้ง Satis repository  เพื่อทำการเก็บข้อมูลของ library และ dependency ต่าง ๆ ไว้ ทำให้ไม่ต้องเสียเวลาไปดึงข้อมูลมาจาก Packagist ทำให้ทำงานได้รวดเร็วขึ้น แสดงการทำงานดังรูป satis.002-550x412 หรือถ้าวาดเป็นขั้นตอนการทำงานแสดงดังนี้ Architecture

ทำการติดตั้งดีกว่า

เริ่มจากติดตั้ง Satis ด้วยคำสั่ง [code] $composer create-project composer/satis --stability=dev --keep-vcs [/code] จากนั้นสร้าง configuration ของ Satis เพื่อกำหนดค่าต่าง ๆ ของ repository เช่น
  • ชื่อและ url ของ repository
  • รายชื่อของ library ต่าง ๆ ที่ต้องการเก็บไว้ใน local repository
โดยสร้างไฟล์ชื่อว่า satis.conf ดังนี้ [gist id="e7ccef9cde07bdcc93b99853c57c8493" file="satis.conf"]

ทำการสร้าง repository ของ Satis ชื่อว่า packages-mirror

ด้วยคำสั่ง [code] php ./satis/bin/satis build satis.conf packages-mirror [/code]

ทำการ Start Satis ขึ้นมาด้วย PHP Build-in server

ด้วยคำสั่ง [code] php ./satis/bin/satis build satis.conf packages-mirror [/code] ทดสอบเข้าใช้งานผ่าน http://localhost:4680/ แสดงผลดังรูป Screen Shot 2559-05-14 at 4.13.51 PM

นำ Local composer repository มาใช้งานกันได้แล้ว

ให้ทำการแก้ไขไฟล์ composer.json ด้วยการเพิ่ม url ของ repository เข้าไป ดังนี้ [gist id="e7ccef9cde07bdcc93b99853c57c8493" file="composer.json"] ทดสอบด้วยติดตั้ง library ผ่าน composer ซะ [code] $composer install [/code] แนะนำให้ลองปิด internet นะครับ จะพบว่า composer จะทำงานได้รวดเร็วมาก ๆ เพียงเท่านี้ก็สามารถติดตั้ง Local composer repository ไว้ใช้งานได้แล้ว Reference Websites https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md http://labs.qandidate.com/blog/2013/12/05/using-satis-for-fast-and-reliable-software-deployment/ http://blog.servergrove.com/2015/04/29/satis-building-composer-repository/ http://code.tutsplus.com/tutorials/setting-up-a-local-mirror-for-composer-packages-with-satis--net-36726 https://laravelista.com/satis-composer-repository-for-your-private-packages/

Viewing all articles
Browse latest Browse all 1997

Trending Articles