โลโก้ CircleCI
DevOps และ CI/CDบริการ SaaS (มีแผนใช้ฟรีและแบบเสียค่าบริการ)

CircleCI คืออะไร และทางเลือกที่รันเครื่องบิลด์เองได้

CircleCI คือบริการรันงานทดสอบและบิลด์อัตโนมัติบนคลาวด์ ทีมไม่ต้องดูแลเครื่องบิลด์เอง เพียงเขียนไฟล์ตั้งค่าไว้ในที่เก็บโค้ดแล้วระบบจะรันให้ทุกครั้งที่มีโค้ดใหม่

หมวดหมู่
DevOps และ CI/CD
ติดตั้งบนเซิร์ฟเวอร์เองได้
ไม่ได้ (SaaS)
ไลเซนส์
บริการ SaaS (มีแผนใช้ฟรีและแบบเสียค่าบริการ)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

CircleCI คืออะไร

CircleCI ให้เครื่องบิลด์ที่พร้อมใช้ทันทีโดยไม่ต้องเตรียมเซิร์ฟเวอร์ ทีมเล็กที่ยังไม่มีคนดูแลระบบจึงเริ่มทำงานอัตโนมัติได้เร็วมาก และไม่ต้องกังวลเรื่องการดูแลเครื่องหรือการอัปเดต

โครงสร้างค่าใช้จ่ายคิดจากเวลาที่ใช้รันงานเป็นหลัก โครงการที่บิลด์บ่อยหรือมีเทสต์ที่ใช้เวลานานจะเห็นค่าใช้จ่ายเพิ่มขึ้นตามการเติบโตของทีม ซึ่งเป็นจุดที่หลายองค์กรเริ่มเปรียบเทียบกับการรันเครื่องบิลด์เอง

อีกประเด็นคือระหว่างการบิลด์ ระบบต้องเข้าถึงซอร์สโค้ดและค่าลับของโครงการ องค์กรที่มีข้อกำหนดว่าโค้ดต้องไม่ออกนอกโครงสร้างพื้นฐานของตัวเองจึงต้องใช้เครื่องบิลด์ของตัวเองหรือระบบ CI ที่ติดตั้งเอง

แผนผังการวางระบบ CircleCI บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ ตัว CircleCI และข้อมูลอยู่บนเครื่องเดียวกัน และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
CircleCI ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ CircleCI

ไม่ต้องดูแลเครื่องบิลด์

เริ่มทำงานอัตโนมัติได้ทันทีโดยไม่ต้องเตรียมเซิร์ฟเวอร์

รันงานพร้อมกันได้หลายงาน

ลดเวลารอเมื่อทีมส่งโค้ดพร้อมกันหลายคน

ตั้งค่าจากไฟล์ในที่เก็บโค้ด

ไปป์ไลน์ผ่านการรีวิวและย้อนกลับได้เหมือนโค้ด

แคชระหว่างการบิลด์

เก็บผลลัพธ์ที่ใช้ซ้ำได้เพื่อให้รอบถัดไปเร็วขึ้น

รองรับเครื่องบิลด์ของตัวเอง

ให้รันงานบนเซิร์ฟเวอร์ขององค์กรได้เมื่อมีข้อกำหนดด้านข้อมูล

จุดที่ควรเปรียบเทียบระหว่างบริการ CI กับการรันเครื่องบิลด์เอง

ตัวแปรแรกคือค่าใช้จ่ายตามการเติบโต บริการ CI คิดตามเวลาที่ใช้รันงาน เมื่อทีมโตและบิลด์บ่อยขึ้น ค่าใช้จ่ายจะเพิ่มตามไปด้วย ขณะที่ Cloud Server ที่รันเครื่องบิลด์เองมีค่าใช้จ่ายคงที่ต่อเดือนไม่ว่าจะบิลด์กี่ครั้ง

ตัวแปรที่สองคือความเร็วในการดึงข้อมูลประกอบการบิลด์ เครื่องบิลด์ที่อยู่ในวงเดียวกับคลังแพ็กเกจและ Registry ขององค์กรจะดึงของได้เร็วกว่าการดึงข้ามอินเทอร์เน็ตมาก ซึ่งเห็นผลชัดเมื่อโครงการมีไลบรารีจำนวนมาก

ตัวแปรที่สามคือข้อกำหนดด้านข้อมูล ระหว่างบิลด์ ระบบต้องเข้าถึงทั้งซอร์สโค้ดและค่าลับของโครงการ องค์กรที่มีนโยบายว่าสิ่งเหล่านี้ต้องไม่ออกนอกโครงสร้างพื้นฐานของตัวเอง จำเป็นต้องใช้เครื่องบิลด์ในองค์กร

  • ประเมินจำนวนนาทีที่ใช้บิลด์ต่อเดือนแล้วเทียบกับค่า Cloud Server ที่รัน Runner เอง
  • วัดเวลาที่ใช้ดึงไลบรารีในไปป์ไลน์ปัจจุบัน เพราะเป็นส่วนที่ประหยัดได้มากเมื่อย้ายมาในวงเดียวกัน
  • ตรวจนโยบายว่าโค้ดและค่าลับออกนอกองค์กรได้หรือไม่
  • พิจารณาใช้แบบผสม โดยให้โครงการสาธารณะใช้บริการภายนอกและโครงการภายในใช้เครื่องของตัวเอง

ทางเลือกที่ติดตั้งเองบน Cloud Server ของ THAI DATA CLOUD

GitLab ที่ติดตั้งเองรวมทั้งที่เก็บโค้ดและระบบ CI ไว้ในระบบเดียว เหมาะกับองค์กรที่ต้องการแทนทั้งกระบวนการ ส่วน Jenkins เหมาะเมื่อมีงานบิลด์ที่ซับซ้อนและต้องการปลั๊กอินจำนวนมาก

ทีมที่ต้องการระบบเบาและเริ่มเร็วมักเลือก Woodpecker CI หรือ Drone ซึ่งรันทุกขั้นตอนในคอนเทนเนอร์และใช้ทรัพยากรน้อย เหมาะกับการรันคู่กับ Gitea บนเครื่องเดียว

อีกทางที่ใช้ได้ทันทีคือคงบริการเดิมไว้แต่ย้ายเครื่องบิลด์มาไว้บน Cloud Server ในไทย ซึ่งได้ทั้งความเร็วในการดึงแพ็กเกจภายในและการควบคุมสภาพแวดล้อม โดยยังใช้หน้าจอและการจัดการเดิม

ใช้ CircleCI ทำอะไรได้บ้าง

  • ทีมเล็กที่ต้องการเริ่มระบบอัตโนมัติโดยไม่มีคนดูแลระบบ
  • โครงการโอเพนซอร์สที่ต้องการรันเทสต์อัตโนมัติ
  • ทีมที่ต้องการรันงานพร้อมกันหลายงานในช่วงเร่ง
  • องค์กรที่ต้องการเครื่องบิลด์ของตัวเองแต่ยังใช้ระบบจัดการจากภายนอก

ใช้ CircleCI ร่วมกับ Cloud Server ของ THAI DATA CLOUD อย่างไร

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

รันเครื่องบิลด์ของตัวเองบน Cloud Server ในไทย ทำให้ดึงแพ็กเกจจาก Nexus ในวงเดียวกันได้เร็วมาก

ค่าใช้จ่ายคงที่ต่อเดือนไม่ว่าจะบิลด์กี่ครั้ง ต่างจากการคิดตามนาทีที่ใช้

ซอร์สโค้ดและค่าลับไม่ต้องออกนอกโครงสร้างพื้นฐานขององค์กร

คำถามที่พบบ่อยเกี่ยวกับ CircleCI

ควรใช้บริการ CI หรือรันเครื่องบิลด์เอง

ทีมเล็กที่บิลด์ไม่บ่อยและไม่มีคนดูแลระบบ ใช้บริการภายนอกคุ้มกว่า แต่เมื่อทีมโตจนค่าใช้จ่ายตามนาทีสูงขึ้นชัดเจน หรือมีข้อกำหนดว่าโค้ดต้องไม่ออกนอกองค์กร การรันเครื่องบิลด์เองบน Cloud Server จะคุ้มกว่าและควบคุมได้มากกว่า

ใช้เครื่องบิลด์ของตัวเองร่วมกับ CircleCI ได้ไหม

ได้ โดยติดตั้งตัวรันงานบน Cloud Server ขององค์กรแล้วให้ระบบส่งงานมารันที่เครื่องนั้น เป็นทางสายกลางที่ได้ทั้งการจัดการจากส่วนกลางและการควบคุมสภาพแวดล้อมกับข้อมูล

ย้ายไประบบที่ติดตั้งเองยากไหม

ต้องเขียนไฟล์ไปป์ไลน์ใหม่ตามรูปแบบของระบบปลายทาง แต่ขั้นตอนที่ต้องรันมักเหมือนเดิมเกือบทั้งหมด ทีมส่วนใหญ่ใช้เวลาไม่นานโดยเฉพาะเมื่อไปป์ไลน์เดิมเรียบง่าย

วางระบบที่ทำงานร่วมกับ CircleCI บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด