以下圖,在局域網部署了Nexus以後,能夠緩存中央倉庫的jar,開發者開發的二方庫發佈到Nexus上,局域網內的其餘人也能夠從Nexus下載這些二方庫使用:
linux
本次實戰是在Linux服務器上經過Docker安裝Nexus3:git
apt-get update
apt-get install -y curl
curl -sSL https://get.docker.com | sh
root@hedy:~# docker version Client: Docker Engine - Community Version: 19.03.5 API version: 1.40 Go version: go1.12.12 Git commit: 633a0ea838 Built: Wed Nov 13 07:29:52 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.5 API version: 1.40 (minimum version 1.12) Go version: go1.12.12 Git commit: 633a0ea838 Built: Wed Nov 13 07:28:22 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.10 GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339 runc: Version: 1.0.0-rc8+dev GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 docker-init: Version: 0.18.0 GitCommit: fec3683
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
docker run -d \ -p 8081:8081 \ --name nexus \ -v /usr/local/work/nexus-data:/nexus-data \ sonatype/nexus3:3.19.1
上述命令的參數較多,有幾點須要注意:
a. 容器的8081端口映射到宿主機的8081端口;
b. 容器名爲nexus;
c. 容器的/nexus-data/目錄被映射到宿主機的/usr/local/work/nexus-data/;
d. 鏡像是sonatype官方的3.19.1版本;
3. 等待容器建立成功後,Nexus3即部署成功;github
echo `docker exec nexus cat /nexus-data/admin.password`
我這裏獲得的是2c9c5399-d0da-48ec-9050-dc4f43cede10
2. 點擊下圖右上角紅框中的Sign in,進入登陸頁面:
3. 登陸頁面以下圖,帳號admin,密碼是剛纔獲取的2c9c5399-d0da-48ec-9050-dc4f43cede10:
4. 登陸成功會提示修改密碼,以下圖,請修改:
5. 是否運行匿名訪問,這裏勾選上:
spring
在實際使用中,爲了安全起見,不能讓每一個用戶使用admin帳號,您能夠先建立角色,按實際須要給角色增長各類權限,再建立此角色下的帳號:docker
至此,Nexus3部署完畢,接下來驗證Nexus可否提供jar緩存的功能;shell
接下來驗證的是Nexus緩存中央倉庫jar包的能力,看看有了Naxus,可否讓咱們在開發和構建過程當中更快的下載到所需jar;緩存
電腦A和電腦B上的maven目錄下的conf/settings.xml文件都要作如下修改:安全
<server> <id>maven-central</id> <username>bolingcavalry</username> <password>888888</password> </server>
<mirror> <id>maven-central</id> <mirrorOf>*</mirrorOf> <url>http://192.168.50.75:8081/repository/maven-central/</url> </mirror>
在A電腦上編譯開源項目spring-cloud-alibaba,此時Nexus上沒有緩存任何jar包,因此編譯速度會很慢,由於全部依賴jar都要從中央倉庫下載,咱們來試試:服務器
wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
tar -zxvf v2.1.1.RELEASE.tar.gz
cd spring-cloud-alibaba-2.1.1.RELEASE/
mvn clean compile -U -DskipTests
在B電腦上作一樣的操做,此時Nexus上已經緩存了編譯所需的jar包,因此整個編譯過程應該明顯變快,最終操做結果以下圖所示,僅用了1分零6秒:
至此,Ubuntu上部署和體驗Nexus3的實戰就完成了,若是您正在尋求簡單快捷的Nexus部署方案,但願本文能給您一些參考。curl