GitHub คืออะไร และการวางระบบ Git ของตัวเองในไทย
GitHub คือบริการเก็บโค้ดและทำงานร่วมกันที่นักพัฒนาทั่วโลกใช้มากที่สุด ทั้งการรีวิวโค้ด การติดตามงาน และระบบอัตโนมัติในตัว โดยเป็นบริการที่โฮสต์ให้ทั้งหมด
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ไม่ได้ (SaaS)
- ไลเซนส์
- บริการ SaaS (มีแผนใช้ฟรีและแบบเสียค่าบริการ)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
GitHub คืออะไร
GitHub เพิ่มชั้นการทำงานร่วมกันบน Git ทั้ง Pull Request สำหรับรีวิวโค้ด ระบบติดตามงาน และ Actions สำหรับรันงานอัตโนมัติ ทำให้เป็นศูนย์กลางของกระบวนการพัฒนาไม่ใช่แค่ที่เก็บโค้ด
จุดแข็งที่ไม่มีใครเทียบได้คือขนาดของชุมชน โครงการโอเพนซอร์สส่วนใหญ่อยู่ที่นี่ นักพัฒนาคุ้นเคยกับเครื่องมืออยู่แล้ว และมีส่วนเสริมจากภายนอกจำนวนมาก
ประเด็นที่องค์กรไทยต้องพิจารณาคือโค้ดอยู่บนระบบของผู้ให้บริการนอกประเทศ หน่วยงานที่มีข้อกำหนดให้เก็บทรัพย์สินทางปัญญาไว้ในประเทศ หรือระบบที่เกี่ยวกับความมั่นคง จึงมักต้องมีระบบเก็บโค้ดของตัวเองควบคู่ไปด้วย
ความสามารถเด่นของ GitHub
รีวิวโค้ดด้วย Pull Request
กระบวนการรีวิวที่นักพัฒนาทั่วโลกคุ้นเคย
ระบบอัตโนมัติในตัว
รันเทสต์และงาน Deploy อัตโนมัติเมื่อมีโค้ดใหม่
ระบบติดตามงานและโครงการ
จัดการงานและแผนงานร่วมกับโค้ดในที่เดียว
ชุมชนที่ใหญ่ที่สุด
โครงการโอเพนซอร์สส่วนใหญ่และเครื่องมือรอบข้างจำนวนมาก
เครื่องมือความปลอดภัยของโค้ด
แจ้งเตือนไลบรารีที่มีช่องโหว่และตรวจความลับที่หลุดเข้าโค้ด
เมื่อไรที่องค์กรควรมีระบบเก็บโค้ดของตัวเอง
เหตุผลแรกคือข้อกำหนดด้านข้อมูล หน่วยงานภาครัฐ สถาบันการเงิน และองค์กรที่ทำงานกับข้อมูลอ่อนไหว มักมีนโยบายว่าซอร์สโค้ดและข้อมูลตั้งค่าต้องอยู่ในโครงสร้างพื้นฐานที่องค์กรควบคุมได้เอง
เหตุผลที่สองคือความต่อเนื่องของงาน เมื่อบริการภายนอกขัดข้อง ทีมทั้งองค์กรจะทำงานไม่ได้พร้อมกัน การมีระบบภายในทำให้ควบคุมความพร้อมใช้งานได้เองและวางแผนสำรองได้ตามที่ธุรกิจต้องการ
เหตุผลที่สามคือต้นทุนเมื่อทีมโต ค่าบริการรายผู้ใช้ต่อเดือนคูณกับจำนวนนักพัฒนาและปริมาณงานอัตโนมัติ อาจสูงกว่าค่า Cloud Server ที่รัน GitLab หรือ Gitea เองอย่างชัดเจนเมื่อองค์กรมีคนหลายสิบคน
- ตรวจนโยบายด้านข้อมูลขององค์กรและข้อกำหนดของหน่วยงานกำกับดูแล
- คำนวณค่าบริการต่อปีเทียบกับค่าเซิร์ฟเวอร์บวกค่าดูแล
- ประเมินผลกระทบเมื่อบริการภายนอกขัดข้องในวันที่ต้องส่งงาน
- พิจารณาใช้ทั้งสองทางคู่กันสำหรับโครงการที่ระดับความอ่อนไหวต่างกัน
ทางเลือกที่ติดตั้งเองบน Cloud Server ของ THAI DATA CLOUD
GitLab เป็นทางเลือกที่ครบที่สุด เพราะรวมทั้งที่เก็บโค้ด ระบบ CI, Registry ของคอนเทนเนอร์ และการจัดการโครงการไว้ในระบบเดียว องค์กรขนาดกลางขึ้นไปที่ต้องการแทน GitHub ทั้งกระบวนการมักเลือกตัวนี้
Gitea และ Forgejo เป็นทางเลือกที่เบามาก รันบนเครื่องสเปกต่ำได้และติดตั้งเสร็จในไม่กี่นาที เหมาะกับทีมเล็กที่ต้องการเพียงที่เก็บโค้ดกับการรีวิว แล้วต่อระบบ CI แยกอย่าง Woodpecker หรือ Drone
ไม่ว่าเลือกทางไหน การย้ายทำได้ไม่ยากเพราะ Git เป็นระบบกระจายศูนย์อยู่แล้ว สิ่งที่ต้องวางแผนคือการย้ายประวัติของ Issue และ Pull Request รวมถึงการปรับไปป์ไลน์อัตโนมัติให้ตรงกับระบบใหม่
ใช้ GitHub ทำอะไรได้บ้าง
- โครงการโอเพนซอร์สที่ต้องการให้คนภายนอกร่วมพัฒนา
- ทีมที่ต้องการเริ่มงานเร็วโดยไม่ดูแลเซิร์ฟเวอร์เอง
- องค์กรที่ทำงานร่วมกับผู้พัฒนาภายนอกจำนวนมาก
- ทีมที่ใช้ระบบนิเวศเครื่องมือรอบ GitHub อยู่แล้ว
ใช้ GitHub ร่วมกับ Cloud Server ของ THAI DATA CLOUD อย่างไร
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ติดตั้ง GitLab หรือ Gitea บน Cloud Server ในไทยเพื่อให้ซอร์สโค้ดอยู่ในประเทศและควบคุมได้เอง
ทำระบบสำรองโค้ดจาก GitHub มาเก็บไว้ที่เซิร์ฟเวอร์ในไทยเป็นแผนความต่อเนื่องทางธุรกิจ
รันเครื่องบิลด์ของตัวเองในวง Private Network เพื่อคุมค่าใช้จ่ายและความเร็ว
คำถามที่พบบ่อยเกี่ยวกับ GitHub
GitHub กับ GitLab ที่ติดตั้งเอง เลือกอะไรดี
ถ้าทีมเล็กและงานไม่มีข้อกำหนดด้านข้อมูล GitHub เริ่มได้เร็วที่สุด แต่ถ้าองค์กรต้องเก็บโค้ดไว้ในประเทศ ต้องการควบคุมความพร้อมใช้งานเอง หรือมีนักพัฒนาหลายสิบคนจนค่าบริการสูง GitLab ที่ติดตั้งเองจะคุ้มกว่าและยืดหยุ่นกว่า
ย้ายจาก GitHub ไประบบที่ติดตั้งเองยากไหม
ตัวโค้ดย้ายง่ายมากเพราะ Git เก็บประวัติทั้งหมดไว้ในตัว ส่วนที่ต้องวางแผนคือการย้าย Issue, Pull Request และไปป์ไลน์อัตโนมัติ ซึ่ง GitLab มีเครื่องมือนำเข้าให้และทีมงานของเราช่วยวางแผนขั้นตอนได้
ติดตั้ง GitHub บนเซิร์ฟเวอร์ตัวเองได้ไหม
มีรุ่นสำหรับองค์กรที่ติดตั้งในโครงสร้างพื้นฐานของตัวเองได้ แต่มีค่าใช้จ่ายสูงและเงื่อนไขเฉพาะ องค์กรส่วนใหญ่ที่ต้องการระบบภายในจึงเลือก GitLab หรือ Gitea ซึ่งใช้ทรัพยากรน้อยกว่าและเริ่มต้นได้เร็วกว่า
ทางเลือกอื่นที่คล้ายกับ GitHub
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
วางระบบที่ทำงานร่วมกับ GitHub บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด