1.前言
最近公司外包凱*代碼遇到點(diǎn)問題就是有一些驗(yàn)證碼代碼是封裝的,改封裝代碼沒地方上傳矾利,我們雖然有源碼但是不能上傳到maven倉(cāng)庫(kù)姑裂,因?yàn)槭侨胶献鞴镜膍aven是公司倉(cāng)庫(kù)不允許隨便更改,沒辦法,我就自己搭建maven私人倉(cāng)庫(kù)梦皮,進(jìn)入正題炭分,官方?jīng)]找到rancher搭建maven說(shuō)明,不過只要我之前寫rancher搭建你都會(huì)剑肯,現(xiàn)在這個(gè)搭建你會(huì)覺得更簡(jiǎn)單捧毛。
2.找到maven搭建docker鏡像
3.rancher配置
4.訪問測(cè)試如圖,此時(shí)在瀏覽器輸入:http://ip:8029即可看到以下頁(yè)面:(ip為遠(yuǎn)程主機(jī)的ip地址就是你部署服務(wù)器地址)
記得點(diǎn)擊右上方的Sign in進(jìn)行登錄,初始賬號(hào)密碼為admin/admin123.請(qǐng)登錄后修改密碼
maven配置
maven配置
可以看到默認(rèn)情況下Nexus會(huì)幫我們創(chuàng)建了幾個(gè)倉(cāng)庫(kù)呀忧,仔細(xì)觀察紅色框住的地方师痕,里面有幾種倉(cāng)庫(kù)的類型,解釋如下:
proxy 遠(yuǎn)程倉(cāng)庫(kù)的代理而账,比如說(shuō)nexus配置了一個(gè)central repository的proxy,當(dāng)用戶向這個(gè)proxy請(qǐng)求一個(gè)artifact的時(shí)候胰坟,會(huì)現(xiàn)在本地查找,如果找不到泞辐,則會(huì)從遠(yuǎn)程倉(cāng)庫(kù)下載笔横,然后返回給用戶。
hosted 宿主倉(cāng)庫(kù)咐吼,用戶可以把自己的一些倉(cāng)庫(kù)deploy到這個(gè)倉(cāng)庫(kù)中吹缔,一般用的都是這個(gè)倉(cāng)庫(kù)
group 倉(cāng)庫(kù)組,是nexus特有的概念锯茄,目的是將多個(gè)倉(cāng)庫(kù)整合厢塘,對(duì)用戶暴露統(tǒng)一的地址,這樣就不需要配置多個(gè)倉(cāng)庫(kù)地址肌幽。
5.實(shí)戰(zhàn)maven倉(cāng)庫(kù)操作
創(chuàng)建倉(cāng)庫(kù)晚碾,點(diǎn)擊Create repository,然后選擇maven2(hosted)然后輸入倉(cāng)庫(kù)名稱(zencloud-boot)。在version policy中選擇這個(gè)倉(cāng)庫(kù)的類型喂急,這里選擇release,在Deployment policy中選擇Allow redeploy(這個(gè)很重要).
zencloud-boot1
zencloud-boot2
6.本地操作
修改本地你的maven的配置文件settings.xml格嘁,一般默認(rèn)是C:\Users\Zencloud.m2目錄下的settings.xml如圖, 這里指定私庫(kù)的賬號(hào)密碼,id解釋一下是和你項(xiàng)目pom.xml里面的id對(duì)應(yīng)上才行否則會(huì)找不到用戶的帳號(hào)密碼授權(quán)失斨笏辍:
使用IDEA創(chuàng)建一個(gè)Maven項(xiàng)目讥蔽,使用pom.xml配置如圖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>zencloud-boot</artifactId>
<!--注意限定版本一定為RELEASE,因?yàn)樯蟼鞯膶?duì)應(yīng)倉(cāng)庫(kù)的存儲(chǔ)類型為RELEASE-->
<version>0.1</version>
<packaging>jar</packaging>
<!--指定倉(cāng)庫(kù)地址-->
<distributionManagement>
<repository>
<!--此名稱要和.m2/settings.xml中設(shè)置的ID一致-->
<id>zencloud-boot</id>
<url>http://*****:8029/repository/zencloud-boot/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--發(fā)布代碼Jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--發(fā)布源碼插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
7.測(cè)試依賴上傳
項(xiàng)目打包上傳至遠(yuǎn)程倉(cāng)庫(kù):mvn deploy
或者如圖:
依次執(zhí)行
搜索倉(cāng)庫(kù)代碼
接著點(diǎn)進(jìn)去可以看到上傳日期
8.測(cè)試依賴下載,在pom.xml添加如下代碼
<dependencies>
<dependency>
<groupId>com</groupId>
<artifactId>zencloud-boot</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>zencloud-boot</id>
<url>http://*****:8029/repository/zencloud-boot/</url>
</repository>
</repositories>