วันนี้ได้รับ email ให้เข้าใช้งาน GitHub Package Registry ซึ่งอยู่ในสถานะ beta
โดยจะเป็น service สำหรับจัดเก็บ dependency/package ของภาษาโปรแกรมต่าง ๆ
จะเหมือนกับ
- Npmjs.org สำหรับ Node/JS
- Rubygems.org สำหรับ Ruby
- Hub.docker.com สำหรับ Docker image
นั่นทำให้ code ที่จัดเก็บใน GitHub
สามารถใช้จัดเก็บ dependency ต่าง ๆ ได้อีกด้วย
เป็นเหมือนกับ One-stop service ไปเลย
ความสามารถพื้นฐานประกอบไปด้วย
- เรื่องความปลอดภัยก็เช่นเดียวกับ Github นั่นเอง
- สามารถใช้ได้ทั้ง public และ private
- สามารถจัดการ permission ในการใช้งานได้
- แน่นอนส่าจัดเก็บได้หลากหลายรูปแบบ
- มีข้อมูลการใช้งานต่าง ๆ ทั้งการเปลี่ยนแปลงและการ download เป็นต้น
- ทำงานร่วมกับ GitHub APIs, Action และ web hooks ได้
- สามารถค้นหา package ที่มีในระบบทั้งหมดได้
รูปแบบของ package ที่สนับสนุนประกอบไปด้วย
- Npm
- Gem
- Apache Maven
- Docker
- Nuget
มาดูการใช้งาน เพื่อเก็บ Docker Image กัน
ขั้นตอนที่ 1 ทำการสร้าง token อนุญาตให้ใช้งาน read และ write package ดังรูป
นำ token ที่ได้มาทำการ login เข้าระบบผ่าน docker ดังนี้
ขั้นตอนที่สอง
ทำการสร้าง repository ใน GitHub สำหรับนำ Docker Image ไปเก็บ
จากนั้นทำการสร้าง Docker Image ที่มีรูปแบบตามที่กำหนดคือ
จากนั้นทำการ push ขึ้นเป็นเป็นอีกเรียบร้อย ยกตัวอย่างเช่น
[code] $docker image push docker.pkg.github.com/up1/demo-package/hello-world:0.1 [/code]เมื่อทุกอย่างเรียบร้อย ก็ไปดูผลงานที่ GitHub ได้เลย
แสดงดังรูป
เพียงเท่านี้ก็สามารถใช้งานได้แล้ว มาลองใช้กันดู