Nginx搭建Maven Repository

nginx创建一个maven仓库站点

server {

listen 80;

server_name nginx-maven-repository.域名;

client_max_body_size 200m;

# 如果仓库不想开放给所有人可以简单配置个认证

auth_basic "Administrator's Area";

auth_basic_user_file /etc/nginx/.htpasswd;

# maven站点路径

location / {

root maven站点路径;

}

}

.htpasswd可以参考Nginx的配置文档

https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication

在要发布jar包的机器上找到settings.xml

mvn -v

会输出类似以下内容:

Apache Maven 3.0.5

Maven home: /usr/share/maven

编辑/usr/share/maven/conf/settings.xml,在<servers>标签里加入nginx-maven-repository的配置/<servers>

<server>

nginx-maven-repository

<username>ssh用户名/<username>

<password>ssh密码/<password>

<server>

ref-nginx-maven-repository

<username>http认证用户名/<username>

<password>http认证密码/<password>

也可以编辑~/.m2/settings.xml

修改要发布到maven仓库的pom.xml

<repositories>

<repository>

ref-nginx-maven-repository

<name>ref-nginx-maven-repository/<name>

http://nginx-maven-repository.域名

<distributionmanagement>

<repository>

nginx-maven-repository

scp://nginx服务器地址/maven站点路径

<build>

<extensions>

<extension>

<groupid>org.apache.maven.wagon/<groupid>

<artifactid>wagon-ssh/<artifactid>

<version>2.10/<version>

发布到仓库

mvn deploy

其它需要引用仓库的pom.xml

<repositories>

<repository>

ref-nginx-maven-repository

<name>ref-nginx-maven-repository/<name>

http://nginx-maven-repository.域名

<dependencies>

<dependency>

<groupid>发布到仓库的groupId/<groupid>

<artifactid>发布到仓库的artifactId/<artifactid>

<version>发布到仓库的版本号/<version>

大功告成!


分享到:


相關文章: