Nexus Repository คืออะไร และวิธีติดตั้งบน Cloud Server
Nexus Repository คือคลังกลางสำหรับเก็บแพ็กเกจและไฟล์ผลลัพธ์จากการบิลด์ขององค์กร ทั้งเก็บของที่ทีมสร้างเองและทำสำเนาแพ็กเกจจากภายนอกไว้ใช้ภายใน
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- EPL (Community Edition)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Sonatype Nexus คืออะไร
ทีมพัฒนาดึงแพ็กเกจจากอินเทอร์เน็ตทุกครั้งที่บิลด์ ซึ่งช้า ใช้แบนด์วิดท์ และเสี่ยงหยุดชะงักเมื่อแหล่งภายนอกล่ม การมีคลังกลางที่ทำสำเนาไว้แก้ปัญหาทั้งสามข้อพร้อมกัน
ประโยชน์ที่สำคัญไม่แพ้กันคือการควบคุม องค์กรกำหนดได้ว่าแพ็กเกจใดอนุญาตให้ใช้ และตรวจสอบย้อนหลังได้ว่าซอฟต์แวร์ที่ปล่อยออกไปประกอบด้วยอะไรบ้าง ซึ่งเป็นข้อกำหนดที่พบบ่อยขึ้นในงานที่ต้องผ่านการตรวจสอบ
Nexus รองรับรูปแบบแพ็กเกจที่ใช้กันทั่วไปในที่เดียว ทั้ง Maven, npm, Docker, PyPI และอื่น ๆ ทีมจึงไม่ต้องดูแลระบบแยกกันหลายตัว
ความสามารถเด่นของ Sonatype Nexus
รองรับหลายรูปแบบแพ็กเกจ
Maven, npm, Docker, PyPI, NuGet และอื่น ๆ ในระบบเดียว
ทำสำเนาแพ็กเกจภายนอก
บิลด์เร็วขึ้นและยังทำงานได้แม้แหล่งภายนอกล่ม
เก็บผลลัพธ์การบิลด์ขององค์กร
เก็บไลบรารีภายในไว้ให้ทีมอื่นนำไปใช้ได้อย่างเป็นระบบ
ควบคุมสิทธิ์การเข้าถึง
กำหนดว่าใครอ่านหรือเผยแพร่แพ็กเกจใดได้บ้าง
ทำ Registry ของ Docker ในองค์กร
เก็บอิมเมจไว้ภายในโดยไม่ต้องดึงจากอินเทอร์เน็ตทุกครั้ง
ใช้ Sonatype Nexus ทำอะไรได้บ้าง
- องค์กรที่ต้องการให้การบิลด์ไม่ขึ้นกับอินเทอร์เน็ตภายนอก
- ทีมที่ต้องเผยแพร่ไลบรารีภายในให้โครงการอื่นใช้
- ระบบที่ต้องตรวจสอบย้อนหลังว่าซอฟต์แวร์ประกอบด้วยแพ็กเกจใดบ้าง
- องค์กรที่ต้องการควบคุมว่าแพ็กเกจใดอนุญาตให้ใช้ได้
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำทีมเล็กที่เก็บแพ็กเกจไม่มาก | 2 vCPU | 4 GB | NVMe 100 GB |
| แนะนำองค์กรที่ทำสำเนาแพ็กเกจภายนอกและเก็บอิมเมจ Docker | 4 vCPU | 8 GB | NVMe 500 GB |
| ใช้งานหนักหลายทีมและเก็บประวัติเวอร์ชันย้อนหลังยาว | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 1 TB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Sonatype Nexus บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Java Runtime ตามที่รุ่นนั้นกำหนด
- ดิสก์ขนาดใหญ่เพราะแพ็กเกจสะสมเร็วมาก
- Nginx สำหรับรับ HTTPS
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
สร้างที่เก็บข้อมูลและรัน
sudo mkdir -p /srv/nexus-data sudo chown -R 200 /srv/nexus-data docker run -d --name nexus \ -p 127.0.0.1:8081:8081 \ -v /srv/nexus-data:/nexus-data \ --restart unless-stopped \ sonatype/nexus3 - 2
ดึงรหัสผ่านเริ่มต้น
sudo cat /srv/nexus-data/admin.password - 3
ตั้ง Nginx และ HTTPS
sudo certbot --nginx -d nexus.example.com - 4
สร้างคลังแบบ Proxy สำหรับแหล่งภายนอก
สร้างคลังชนิด proxy ที่ชี้ไปยังแหล่งทางการของ npm, Maven หรือ PyPI แล้วให้ทีมชี้เครื่องมือมาที่ Nexus แทน
# ตัวอย่างการตั้งค่า npm ฝั่งนักพัฒนา npm config set registry https://nexus.example.com/repository/npm-group/ - 5
สร้างคลังสำหรับเผยแพร่ของภายใน
สร้างคลังชนิด hosted สำหรับไลบรารีที่ทีมสร้างเอง แล้วให้ไปป์ไลน์ CI เผยแพร่ขึ้นมาที่นี่
- 6
ตั้งนโยบายลบเวอร์ชันเก่า
ตั้งกฎลบสแนปช็อตเก่าอัตโนมัติ เพราะดิสก์จะเต็มเร็วมากถ้าเก็บทุกเวอร์ชันของทุกการบิลด์ไว้ตลอด
เผื่อดิสก์ไว้มากกว่าที่คิดเสมอ และตั้งการเฝ้าระวังพื้นที่ เพราะคลังแพ็กเกจเต็มจะทำให้ทุกทีมบิลด์ไม่ได้พร้อมกัน
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่าน Reverse Proxy |
| 8081 | TCP | พอร์ตภายในของ Nexus |
| 5000 | TCP | Registry ของ Docker ถ้าเปิดใช้ |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนรหัสผ่านผู้ดูแลระบบและปิดบัญชีผู้ใช้ทั่วไปแบบไม่ระบุตัวตน
- กำหนดสิทธิ์แยกระหว่างผู้อ่านกับผู้เผยแพร่
- ใช้ HTTPS เสมอเพราะมีการส่งข้อมูลยืนยันตัวตน
- เฝ้าระวังพื้นที่ดิสก์และตั้งกฎลบเวอร์ชันเก่า
- สำรองข้อมูลคลังตามรอบ
ทำไมควรรัน Sonatype Nexus บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
วางไว้ในวง Private Network เดียวกับ GitLab และเครื่องบิลด์ ทำให้ดึงแพ็กเกจเร็วมาก
ขยายดิสก์ได้ตามปริมาณแพ็กเกจที่สะสมโดยไม่ต้องย้ายระบบ
ลดการใช้แบนด์วิดท์ออกต่างประเทศของทั้งองค์กรอย่างชัดเจน
คำถามที่พบบ่อยเกี่ยวกับ Sonatype Nexus
Nexus ต่างจาก Harbor อย่างไร
Harbor เน้นเก็บอิมเมจคอนเทนเนอร์โดยเฉพาะพร้อมการสแกนช่องโหว่ ส่วน Nexus รองรับแพ็กเกจหลายรูปแบบในระบบเดียว องค์กรที่ใช้คอนเทนเนอร์เป็นหลักมักเลือก Harbor ส่วนองค์กรที่มีหลายภาษาและหลายรูปแบบแพ็กเกจมักเลือก Nexus
รุ่นฟรีใช้งานจริงได้ไหม
ได้ รุ่นโอเพนซอร์สรองรับรูปแบบแพ็กเกจหลักครบสำหรับองค์กรทั่วไป ส่วนความสามารถระดับสูงอย่างการวิเคราะห์ใบอนุญาตและช่องโหว่เชิงลึกอยู่ในรุ่นเชิงพาณิชย์
ต้องใช้ดิสก์เท่าไหร่
ขึ้นกับจำนวนโครงการและนโยบายเก็บย้อนหลัง องค์กรขนาดกลางที่ทำสำเนาแพ็กเกจภายนอกด้วยมักเริ่มที่ 500 GB และควรตั้งกฎลบเวอร์ชันเก่าตั้งแต่ต้นเพื่อคุมการเติบโต
ทางเลือกอื่นที่คล้ายกับ Sonatype Nexus
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Sonatype Nexus ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด