Instalasi Nexus di Ubuntu 22.04

Beberapa bulan ini saya mengikuti Bootcamp Devops secara online dan saat ini masih berlangsung. Bootcamp ini menurut saya cukup berat karena yang dipelajari adalah berkaitan dengan programming, ditambah lagi saya juga harus menyelesaikan pekerjaan sehari-hari dan juga mengurus usaha diluar pekerjaan tetap yang saya lakukan saat ini. Walau demikian, prosesnya tetap bisa berjalan dengan baik dan saya juga bisa memahami apa yang disampaikan.

Ada banyak hal yang sudah saya pelajari dari bootcamp, salah satunya adalah Nexus Repository Manager. Nexus ini merupakan salah satu komponen untuk menunjang proses Continuous Integration and Continuous Delivery/Continuous Deployment (CICD) yang dilakukan oleh seorang Devops. Nexus berfungsi sebagai repository berbagai macam artifact aplikasi, mulai dari Java Artifact (JAR), Container Image, Linux Package dan lain-lain.

Sebelumnya saya sudah berhasil melakukan instalasi dan menggunakan Nexus sebagai private repository manager untuk project bootcamp saya. Berikut adalah langkah-langkah untuk melakukan instalasi Nexus di Linux Ubuntu 22:

Sebelum melakukan proses instalasi, siapkan server atau VM dengan spesifikasi minimum sebagai berikut:

  • vCPU: 2
  • Memory: 4 GB
  • Disk: 100 GB

Configure server tersebut supaya bisa dilakukan remote via SSH. Spesifikasi diatas sudah cukup jika hanya digunakan untuk uji coba atau hanya digunakan untuk kebutuhan internal dengan cakupan kecil. Namun, jika Nexus digunakan pada lingkungan production sebaiknya menggunakan server atau VM 2x dari spesifikasi diatas.

Langkah 1: Instalasi Dependencies Java 8

  • Jalankan perintah-perintah berikut untuk melakukan instalasi Java versi 8:
    # apt update
    # apt install openjdk-8-jre-headless -y
  • Cek versi Java:
    # java -version
    openjdk version "1.8.0_362"
    OpenJDK Runtime Environment (build 1.8.0_362-8u362-ga-0ubuntu1~22.04-b09)
    OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)

Langkah 2: Download Installer Nexus

  • Get download URL installer Nexus terbaru untuk sistem operasi berbasis UNIX dari website sonatype https://help.sonatype.com/repomanager3/product-information/download
  • Download dan extract installer Nexus di direktori /opt
    # cd /opt/
    # wget -c https://download.sonatype.com/nexus/3/nexus-3.51.0-01-unix.tar.gz
    # ls
    nexus-3.51.0-01-unix.tar.gz
    # tar -zxvf nexus-3.51.0-01-unix.tar.gz
    # ls
    nexus-3.51.0-01
    nexus-3.51.0-01-unix.tar.gz
    sonatype-work
  • Rename direktori hasil ekstrak menjadi nama yang lebih simpel
    # mv nexus-3.51.0-01 nexus

Langkah 3: Create User Nexus

  • Create dedicated user untuk Nexus dengan home directory hasil extract installer Nexus
    # adduser --no-create-home --home "/opt/nexus" nexus
    Adding user `nexus' ...
    Adding new group `nexus' (1001) ...
    Adding new user `nexus' (1001) with group `nexus' ...
    Not creating home directory `/opt/nexus'.
    New password: 
    Retype new password: 
    passwd: password updated successfully
    Changing the user information for nexus
    Enter the new value, or press ENTER for the default
    Full Name []: nexus
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
    Is the information correct? [Y/n] Y
  • Sesuaikan permission folder Nexus
    # chown -R nexus. /opt/nexus /opt/sonatype-work
  • Sesuaikan user pada file /opt/nexus/bin/nexus.rc
    # echo run_as_user="nexus" > /opt/nexus/bin/nexus.rc

Langkah 4: Start Service Nexus

  • Membuat file service untuk Nexus
    # cat > /etc/systemd/system/nexus.service << EOF;
    [Unit]
    Description=Nexus Service
    After=network.target
    
    [Service]
    Type=forking
    LimitNOFILE=65536
    ExecStart=/opt/nexus/bin/nexus start
    ExecStop=/opt/nexus/bin/nexus stop 
    User=nexus
    Restart=on-abort
    TimeoutSec=600
    
    [Install]
    WantedBy=multi-user.target
    EOF
  • Restart daemon Linux
    # systemctl daemon-reload
  • Start service Nexus
    # systemctl start nexus
    # systemctl enable nexus

Testing:

  • Akses webui Nexus Repository Manager melalui web browser menggunakan port 8081
  • Sign in menggunakan username admin password yang ada pada file /opt/sonatype-work/nexus3/admin.password
  • Masukan password akun admin yang baru
  • Disable anonymous access
  • Finish

Leave a Reply

Your email address will not be published.