一、搭建nexus服務(wù)的意義
作為內(nèi)網(wǎng)的統(tǒng)一代理,團(tuán)隊(duì)合作開發(fā)時不用每人都去外網(wǎng)下載一次;
解決部分變態(tài)公司內(nèi)網(wǎng)管制無法訪問外網(wǎng)的問題,選一臺有外網(wǎng)權(quán)限的機(jī)器搭建服務(wù)器,其余人直接內(nèi)網(wǎng)訪問此服務(wù);
團(tuán)隊(duì)合作開發(fā)時解決maven項(xiàng)目依賴問題;
二、安裝nexus
1
2
3
4
5
6
7
|
# 下載安裝包: wget https: //sonatype-download .global.ssl.fastly.net /nexus/oss/nexus-2 .14.4-03-bundle. tar .gz # 解壓 mkdir /data/apps cd /data/apps tar -zxvf ~ /nexus-2 .14.4-03-bundle. tar .gz |
三、配置nexus
編輯配置文件:vim conf/nexus.properties
1
2
3
4
5
6
7
8
9
|
# Jetty section application-port=8081 # 訪問端口 application-host=0.0.0.0 # 綁定IP nexus-webapp=${bundleBasedir} /nexus # 指定nexus程序目錄 nexus-webapp-context-path= /nexus # 指定訪問的二組目錄 # Nexus section nexus-work=${bundleBasedir}/.. /sonatype-work/nexus runtime=${bundleBasedir} /nexus/WEB-INF |
以上都是默認(rèn)配置,對應(yīng)的訪問地址為: http://x.x.x.x:8081/nexus
如果要改為http://x.x.x.x:8081,則修改nexus-webapp-context-path=/即可
四、啟動nexus
啟動腳本:bin/nexus
1
2
3
|
# 啟動腳本有如下參數(shù)可選 [root@ci-gitlab nexus-2.14.4-03] # bin/nexus Usage: . /nexus { console | start | stop | restart | status | dump } |
注意:nexus采用wrapper做為WEB容器,nexus只是shell腳本,最終會調(diào)用jsw目錄下對應(yīng)平臺中的wrapper二進(jìn)制文件
五、管理nexus
1. 默認(rèn)的用戶:
1
2
|
admin/admin123 deployment/deployment123 |
2. 修改用戶信息
admin登陸后,點(diǎn)擊左側(cè)【Security–Users】,在列表中選擇用戶,右鍵可更改密碼和重圍密碼, 底部表格中可修改用戶其余信息
六、在項(xiàng)目中使用nexus
1. 作為插件庫
點(diǎn)擊左側(cè)【Views/Repositories–Repositories】,選擇【Public Repositories】,復(fù)制其Repository Path字段
編輯pom.xml文件,添加如下段:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<!-- 設(shè)定主倉庫,按設(shè)定順序進(jìn)行查找。 --> <!-- 設(shè)定主倉庫,按設(shè)定順序進(jìn)行查找。 --> < repositories > < repository > < id >releases</ id > < name >Team Nexus Repository</ name > < url >${Repository Path}</ url > </ repository > < repository > < id >snapshots</ id > < name >Team Nexus Repository</ name > < url >${Repository Path}</ url > </ repository > </ repositories > |
2. 作為deploy庫
點(diǎn)擊左側(cè)【Views/Repositories–Repositories】,選擇【 Release 或 Snapshots】,復(fù)制其Repository Path字段
編輯pom.xml文件,添加如下段:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!-- 設(shè)定發(fā)布位置,mvn deploy時用到,不設(shè)置時會報(bào)錯--> < distributionManagement > < repository > < id >ci-releases</ id > < name >Gigold Nexus Repository</ name > < url >http://ci-gitlab:8081/content/repositories/releases</ url > </ repository > < snapshotRepository > < id >ci-snapshots</ id > < name >Gigold Nexus Repository</ name > < url >http://ci-gitlab:8081/content/repositories/snapshots/</ url > </ snapshotRepository > </ distributionManagement > |
注意:不設(shè)置distributionManagement段,執(zhí)行mvn deploy會報(bào)如下錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project helloworld-a: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/yu12377/article/details/73345046