python源碼分享網(wǎng)站/深度搜索
說到maven私服每個公司都有,比如我上一篇文章介紹的自定義日志starter,就可以上傳到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步驟
使用docker安裝nexus
#拉取鏡像
docker pull sonatype/nexus3:latest#創(chuàng)建掛在目錄,容器數(shù)據(jù)與宿主機(jī)互通,數(shù)據(jù)持久化到宿主機(jī)
#容器重啟數(shù)據(jù)不會丟失,想想如果是mysql,不掛載的話重啟容器就沒了
mkdir /var/dockerdata/nexus/nexus-data
mkdir /var/dockerdata/nexus/nexus-logs#授權(quán),因?yàn)閱尤萜鲿rnexus會往宿主機(jī)目錄寫數(shù)據(jù)
chmod o+rwx -R /var/dockerdata/nexus/nexus-data
chmod o+rwx -R /var/dockerdata/nexus/nexus-logs#啟動容器,建議使用docker-compose來搞
docker run -d \--name nexus3 \-p 6031:8081 \--restart=always \-e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" \-v /var/dockerdata/nexus/nexus-data:/nexus-data \-v /var/dockerdata/nexus/nexus-logs:/nexus-logs \-e TZ=Asia/Shanghai \sonatype/nexus3:latest#nexus3 默認(rèn)啟動是2703M內(nèi)存,為了因?yàn)閮?nèi)存不夠?qū)е聠邮』騼?nèi)存占用過多所以指定內(nèi)存
-e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
訪問ip:6031看到這個界面就成功了
登錄重置密碼,會提示密碼在哪個目錄的,直接去提示的目錄找就行
分別創(chuàng)建release,snapshot,center,public倉庫。
release:Release 版本是一個正式發(fā)布的版本,表示該版本已經(jīng)經(jīng)過測試和驗(yàn)證,不會再有頻繁的變化。
snapshot:Snapshot 版本是一種開發(fā)中的版本,表示該版本尚未正式發(fā)布,可能會頻繁發(fā)生變化,每次構(gòu)建時,Maven 會檢查遠(yuǎn)程倉庫中是否有新的 Snapshot 版本可用。如果有,Maven 會下載最新的 Snapshot 版本。
center:遠(yuǎn)程倉庫,私服不存在就會通過這個倉庫下載,一般都配置阿里的倉庫鏡像
public:公共倉庫,nexus上創(chuàng)建時選混合類型
創(chuàng)建release倉庫
創(chuàng)建snapshot倉庫
創(chuàng)建中央倉庫
創(chuàng)建公共倉庫
創(chuàng)建完了就這樣,其他的可以刪掉了
修改maven的setting.xml,填寫nexus服務(wù)器信息
mirror中的url為nexus私服的公共倉庫,id與server中的id要一致
把項(xiàng)目打包上傳到nexus,pom文件配置distributionManagement標(biāo)簽,其中的id要與setting.xml中的id一致
如果想打包release版本,就要把version標(biāo)簽的snapshot去掉
去nexus倉庫看已經(jīng)上傳上去了
引入release版本的話直接在這里復(fù)制坐標(biāo)
在別的工程引入成功
這里能成功引入是因?yàn)樯厦嫖覀冊趍aven的setting.xml里配置了nexus倉庫的地址,它會從這個地址去找依賴,私服找不到就會根據(jù)ming-center倉庫配置的中央地址去下載。