Trong quy trình thực hiện CI/CD trong dự án, khi thực hiện việc build sẽ tạo ra nhiều output/sản phẩm (artifact). Vì vậy sẽ cần 1 nơi chứa để lưu trữ các thành phần này thay vì lưu trữ trong từng lần build hoặc nơi nào đó không tập trung, sẽ mất nhiều thời gian và giới hạn về mặt kỹ thuật để truy xuất artifact đã tạo ra. Trong quá trình phát triển việc lưu giữ artifacts rất quan trọng.
Nexus Repository là gì?
Nexus là một trong những repository manager số 1 thế giới. Có hai phiên bản của trình quản lý kho lưu trữ Nexus: bản OSS và Pro. Trong hướng dẫn này, chúng tôi sẽ cài đặt phiên bản OSS. Thực hiện theo các bước được cung cấp trong hướng dẫn này để cài đặt Nexus.
Cài đặt Nexus
Yêu cầu hệ thống
Đảm bảo rằng hệ thống của bạn đáp ứng các yêu cầu tối thiểu trước khi bạn có thể tiến hành cài đặt Nexus như được nêu trên trang yêu cầu hệ thống Nexus.
- CPU: Minimum CPUs: 4 Recommended CPUs: 8+
- Memory: Minimum: 8GB, Recommended: No limit
- Disk: Minimum: 500MB, Recommended: No limit
- OpenJDK 11
Cập nhật hệ thống
Việc đầu tiên và cần thiết trong quá trình cài đặt là bạn cần cập nhật gói các gói hệ thống. Chạy lệnh để cập nhật
sudo apt update -y
Chạy lệnh bên dưới để cập nhật các gói của hệ thống
sudo apt-get update -y
Cài đặt Java
Nexus repository cần Java 8 Runtime Environment (JRE) để có thể chạy. Chạy lệnh
sudo apt install openjdk-8-jre-headless -y
Cài đặt Nexus
Tải bản cài đặt mới nhất Nexus Repository Manager từ trang chính thức. Hoặc có thể download bằng wget như bên dưới.
Đầu tiên vào thư mục /opt cd /opt
sudo wget https://download.sonatype.com/nexus/3/nexus-3.38.1-01-unix.tar.gz
Giải nén bản cài đặt Nexus in trong thư mục /opt bằng lệnh
sudo tar -zxvf nexus-3.38.1-01-unix.tar.gz
và đổi tên thành nexus
sudo mv /opt/nexus-3.38.1-01 /opt/nexus
Khuyến nghị là bạn không chạy nexus bằng root, bước tiếp theo sẽ tạo user tên nexus để run service này
sudo useradd -M -d /opt/nexus -s /bin/bash -r nexus
Cấu hình ko cần yêu cầu password service account: sudo visudo
nhập nội dung nexus ALL=(ALL) NOPASSWD: ALL
dòng dưới cùng của file rồi lưu lại.
Set quyền cho user nexus truy cập vào file và folder cần thiết.
sudo chown -R nexus:nexus /opt/nexus sudo chown -R nexus:nexus /opt/sonatype-work
Cấu hình để start nexus khi hệ thống khởi động, bạn sửa file /opt/nexus/bin/nexus.rc, un-comment dòng đầu tiên và thay đổi thành nội dung run_as_user="nexus"
theo lệnh dưới.
sudo nano /opt/nexus/bin/nexus.rc
Ghi chú: Bạn có thể tăng JVM heap size cho nexus nếu cần, bằng cách mở file /opt/nexus/bin/nexus.vmoptions.
Chạy Nexus dạng service
Để cấu hình nexus chạy dạng service sử dụng Systemd, bạn cần thực hiện sửa file sudo nano /etc/systemd/system/nexus.service
Sau đó thay thế nội dung
[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 [Install] WantedBy=multi-user.target
Để start nexus service, bạn có thể thay start bằng stop
nếu muốn tắt service
sudo systemctl start nexus
Cấu hình start nexus khi hệ thống khởi động
sudo systemctl enable nexus
Để xem log nexus service, bạn xem dùng lệnh sau
tail -f /opt/sonatype-work/nexus3/log/nexus.log
Nexus cài đặt thành công nếu bạn thấy log ghi như hình bên dưới.
Kiểm tra Nexus từ web
Để truy cập Nexus, hãy mở trình duyệt đến đường dẫn http://server_IP:8081, bạn sẽ thấy màn hình như bên dưới. Đăng nhập Nexus, với username mặc định admin bạn vào dùng lệnh cat /opt/nexus/sonatype-work/nexus3/admin.password
để xem mật khẩu mặc định cho user này.
Làm theo hướng dẫn của Nexus, để đổi password và cấu hình không cho truy cập ẩn danh Anonymous Access.
Bước sau cùng setup là bật tính năng tự động detect lỗi bảo mật liên log4j mà Sonatype cung cấp miễn phí trong gian đoạn cấp thiết đầu năm 2022.