การใช้งาน Container สามารถประยุกต์เข้ากับการพัฒนาร่วมกับ CI/CD ได้ โดยใช้เครื่องมือเพิ่มเพียงเพิ่มความสามารถในการเชื่อมต่อกับ Docker เพื่อสั่ง Deploy Container ไปยังเครื่องปลายทาง หรือ Build Dockerfile แล้ว push image ไปยัง Docker Registry ภายใน แล้วแต่ความต้องการใช้งาน ยกตัวอย่างการใช้งาน Gitlab CI หากท่านใดใช้ CI ตัวอื่นๆ ก็เอาไปประยุกต์ใช้กันได้

ตัวอย่างจากภาพ

  • นักพัฒนา commit code เข้าไปที่ git repository
  • build script ใน ci runner จะทำหน้าที่ build docker image แล้ว push image ไปยัง local registry
  • deploy docker image จาก local registry ไปยังเครื่อง development หรือเครื่อง production

จากตัวอย่างใช้ local registry ใน Docker 1.3+ จะมีการตรวจสอบเรื่องความปลอดภัยในการใช้งาน local registry ทุกครั้งที่มีการ push และ pull หากจำเป็นต้องใช้ เพิ่ม DOCKER_OPTION ไปยังเครื่อง Docker Host และ Docker Registry ดังนี้

--insecure-registry index.fffee.org -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

เราจะใช้ตัวอย่าง Node.JS Application ง่ายๆ ที่ สั่ง clone แล้ว merge แล้วไปที่ repository ได้เลย

เพิ่ม project ไปยัง ci server

ตั้งค่า Build steps script

ลงใน Build steps script ดังภาพ

ทุกครั้งที่ commit code หรือ merge code ไปที่ branch master ตัว ci จะทำหน้าที่ตาม build script ที่ตั้งค่าไว้

ดูจากค่า inspect จำ private port ไว้

ดูที่เครื่อง CI เราจะพบว่ามี Dockerfile ถูก build แล้ว และ push ไปยัง Docker Registry แล้ว

และเครื่อง Docker Host เราจะพบว่า มี Docker Image เพิ่มเข้ามาและสั่ง run เรียบร้อย

ลองเข้าเว็บตามด้วย private port จะได้หน้า DumpApp มาดังนี้

หากอยากให้คล่องตัวมากกว่านี้คุณสามารถใช้ redis สร้าง frontend ของ domain name ให้กับ hipache ได้ จากนั้นก็ค่อยเพิ่ม record ค่า container เพิ่มเติมเข้าไปได้ ลองเอาไปประยุกต์ใช้ดู

Comments are closed.