โลโก้ Sonatype Nexus
DevOps และ CI/CDEPL (Community Edition)

Nexus Repository คืออะไร และวิธีติดตั้งบน Cloud Server

Nexus Repository คือคลังกลางสำหรับเก็บแพ็กเกจและไฟล์ผลลัพธ์จากการบิลด์ขององค์กร ทั้งเก็บของที่ทีมสร้างเองและทำสำเนาแพ็กเกจจากภายนอกไว้ใช้ภายใน

หมวดหมู่
DevOps และ CI/CD
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
EPL (Community Edition)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • 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 บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 8081, 5000 ตัว Sonatype Nexus และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Sonatype Nexus ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

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

รองรับหลายรูปแบบแพ็กเกจ

Maven, npm, Docker, PyPI, NuGet และอื่น ๆ ในระบบเดียว

ทำสำเนาแพ็กเกจภายนอก

บิลด์เร็วขึ้นและยังทำงานได้แม้แหล่งภายนอกล่ม

เก็บผลลัพธ์การบิลด์ขององค์กร

เก็บไลบรารีภายในไว้ให้ทีมอื่นนำไปใช้ได้อย่างเป็นระบบ

ควบคุมสิทธิ์การเข้าถึง

กำหนดว่าใครอ่านหรือเผยแพร่แพ็กเกจใดได้บ้าง

ทำ Registry ของ Docker ในองค์กร

เก็บอิมเมจไว้ภายในโดยไม่ต้องดึงจากอินเทอร์เน็ตทุกครั้ง

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

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

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Sonatype Nexus 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 100 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 1 TB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
ขั้นต่ำทีมเล็กที่เก็บแพ็กเกจไม่มาก2 vCPU4 GBNVMe 100 GB
แนะนำองค์กรที่ทำสำเนาแพ็กเกจภายนอกและเก็บอิมเมจ Docker4 vCPU8 GBNVMe 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. 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. 2

    ดึงรหัสผ่านเริ่มต้น

    sudo cat /srv/nexus-data/admin.password
  3. 3

    ตั้ง Nginx และ HTTPS

    sudo certbot --nginx -d nexus.example.com
  4. 4

    สร้างคลังแบบ Proxy สำหรับแหล่งภายนอก

    สร้างคลังชนิด proxy ที่ชี้ไปยังแหล่งทางการของ npm, Maven หรือ PyPI แล้วให้ทีมชี้เครื่องมือมาที่ Nexus แทน

    # ตัวอย่างการตั้งค่า npm ฝั่งนักพัฒนา
    npm config set registry https://nexus.example.com/repository/npm-group/
  5. 5

    สร้างคลังสำหรับเผยแพร่ของภายใน

    สร้างคลังชนิด hosted สำหรับไลบรารีที่ทีมสร้างเอง แล้วให้ไปป์ไลน์ CI เผยแพร่ขึ้นมาที่นี่

  6. 6

    ตั้งนโยบายลบเวอร์ชันเก่า

    ตั้งกฎลบสแนปช็อตเก่าอัตโนมัติ เพราะดิสก์จะเต็มเร็วมากถ้าเก็บทุกเวอร์ชันของทุกการบิลด์ไว้ตลอด

เผื่อดิสก์ไว้มากกว่าที่คิดเสมอ และตั้งการเฝ้าระวังพื้นที่ เพราะคลังแพ็กเกจเต็มจะทำให้ทุกทีมบิลด์ไม่ได้พร้อมกัน

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ผ่าน Reverse Proxy
8081TCPพอร์ตภายในของ Nexus
5000TCPRegistry ของ 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 ให้ฟรี บน Cloud Server ในไทย

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