Mungkin dari kita yang sering mengoperasikan docker sudah sering mendengar docker hub, atau sering dikenal sebagai aplikasi untuk menyimpan image docker, atau mungkin banyak developer seperti java, ketika setelah build code maka akan menghasilkan artifact .jar atau .war, dan itu biasanya disimpan pada maven central repository atau software sejenisnya. semua itu bisa berjalan dengan baik jika jumlah service atau image dockernya masih sedikit, namun jika jumlanhnya sudah banyak maka akan muncul banyak masalah, diantaranya cost dan privasi code atau image yang kita simpan, walaupun dari masing2 provider menjanjikan keamanan, namun kita tidak tahu dibelakangnya seperti apa.
kali ini saya akan membahas software Nexus Repository OSS, dimana kita dapat menyimpan docker image dan artifact code (java, nodejs, Ruby gems, dll). Untuk product nexus cukup banyak dan berbayar, namun saat ini kita akan mengunakan Nexus Repository OSS yang free, dan bagusnya nexus juga menyediakan plugin di Jenkins, sehingga lebih mudah untuk di integrasikan.
Minimal Requirement:
- RAM minimal 1 GB
- Storage Minimal 8 GB
- CPU minimal 1 Core
- Step 1 – Install Java 8
1 2 3 4 5 |
sudo apt-get install -y software-properties-common sudo add-apt-repository ppa:webupd8team/java sudo apt update sudo apt install oracle-java8-installer sudo apt install oracle-java8-set-default |
setelah itu cek apakah java sudah terinstall dengan baik atau belum
1 2 3 4 |
nexus-oss:~# java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode) |
Download Nexus Repository OSS
1 |
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.15.2-01-unix.tar.gz |
Kemudian extract file nexus-x-x kedalam folder /opt
1 |
tar zxvf nexus-3.15.2-01-unix.tar.gz -C /opt/ |
setelah itu setting addtional nexus
1 2 3 4 5 |
nexus-oss:~# mv /opt/nexus-3.15.2-01/ /opt/nexus nexus-oss:~# vi .bashrc nexus-oss:~# source .bashrc nexus-oss:~# echo $NEXUS_HOME /opt/nexus |
Buat user khusus untuk menjalankan service nexus
1 2 |
nexus-oss:~# adduser nexus #password => rahasia |
Rubah kepemilikan folder dan file dalam folder nexus dan sonatype-work menjadi user nexus
1 2 |
chown -R nexus:nexus /opt/nexus/ chown -R nexus:nexus /opt/sonatype-work/ |
Rubah setingan user yang akan menjalankan service nexus menjadi nexus, defaultnya terdisable
1 2 |
nexus-oss:~# vi /opt/nexus/bin/nexus.rc run_as_user="nexus" |
kemudian buat file konfigurasi untuk service nexus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
nexus-oss:~# vi /etc/systemd/system/nexus.service [Unit] Description=nexus service After=network.target [Service] Type=forking ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Restart=on-abort [Install] WantedBy=multi-user.target |
kemudian aktifkan servicenya
1 2 3 4 |
nexus-oss:~# systemctl daemon-reload nexus-oss:~# systemctl enable nexus.service nexus-oss:~# systemctl start nexus.service nexus-oss:~# systemctl status nexus.service |
kemudian akses dashboard nexus nya, http://ip-address:8081
untuk Login default, username: admin, password: admin123
kemudian untuk menjaga keamanan, kita harus rubah password default admin, pilih user -> admin -> change password
cukup sekian dulu untuk installasi Nexus Repository, untuk tutorial selanjutnya akan membahas setting internal registry dan artifact maven
System Engineer
Komentar