วันนี้ได้รับ email ให้เข้าใช้งาน GitHub Package Registry ซึ่งอยู่ในสถานะ beta
โดยจะเป็น service สำหรับจัดเก็บ dependency/package ของภาษาโปรแกรมต่าง ๆ
จะเหมือนกับ

นั่นทำให้ 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 ดังนี้

$docker login docker.pkg.github.com</a> -u USERNAME -p PASSWORD/TOKEN

ขั้นตอนที่สอง 

ทำการสร้าง repository ใน GitHub สำหรับนำ Docker Image ไปเก็บ
จากนั้นทำการสร้าง Docker Image ที่มีรูปแบบตามที่กำหนดคือ

docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION

จากนั้นทำการ push ขึ้นเป็นเป็นอีกเรียบร้อย ยกตัวอย่างเช่น

$docker image push docker.pkg.github.com/up1/demo-package/hello-world:0.1

เมื่อทุกอย่างเรียบร้อย ก็ไปดูผลงานที่ GitHub ได้เลย
แสดงดังรูป

เพียงเท่านี้ก็สามารถใช้งานได้แล้ว มาลองใช้กันดู

Tags: