CircleCI คืออะไร และทางเลือกที่รันเครื่องบิลด์เองได้
CircleCI คือบริการรันงานทดสอบและบิลด์อัตโนมัติบนคลาวด์ ทีมไม่ต้องดูแลเครื่องบิลด์เอง เพียงเขียนไฟล์ตั้งค่าไว้ในที่เก็บโค้ดแล้วระบบจะรันให้ทุกครั้งที่มีโค้ดใหม่
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ไม่ได้ (SaaS)
- ไลเซนส์
- บริการ SaaS (มีแผนใช้ฟรีและแบบเสียค่าบริการ)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
CircleCI คืออะไร
CircleCI ให้เครื่องบิลด์ที่พร้อมใช้ทันทีโดยไม่ต้องเตรียมเซิร์ฟเวอร์ ทีมเล็กที่ยังไม่มีคนดูแลระบบจึงเริ่มทำงานอัตโนมัติได้เร็วมาก และไม่ต้องกังวลเรื่องการดูแลเครื่องหรือการอัปเดต
โครงสร้างค่าใช้จ่ายคิดจากเวลาที่ใช้รันงานเป็นหลัก โครงการที่บิลด์บ่อยหรือมีเทสต์ที่ใช้เวลานานจะเห็นค่าใช้จ่ายเพิ่มขึ้นตามการเติบโตของทีม ซึ่งเป็นจุดที่หลายองค์กรเริ่มเปรียบเทียบกับการรันเครื่องบิลด์เอง
อีกประเด็นคือระหว่างการบิลด์ ระบบต้องเข้าถึงซอร์สโค้ดและค่าลับของโครงการ องค์กรที่มีข้อกำหนดว่าโค้ดต้องไม่ออกนอกโครงสร้างพื้นฐานของตัวเองจึงต้องใช้เครื่องบิลด์ของตัวเองหรือระบบ CI ที่ติดตั้งเอง
ความสามารถเด่นของ 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
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
วางระบบที่ทำงานร่วมกับ CircleCI บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด