Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Nginx搭建Maven Repository,希望能够帮助你!!!。
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
mvn -v
会输出类似以下内容:
Apache Maven 3.0.5
Maven home: /usr/share/maven
编辑/usr/share/maven/conf/settings.xml,在<servers>标签里加入nginx-maven-repository的配置
<server>
<id>nginx-maven-repository</id>
<username>ssh用户名</username>
<password>ssh密码</password>
</server>
<!--如果前面配置了需要认证再加一个引用仓库的配置-->
<server>
<id>ref-nginx-maven-repository</id>
<username>http认证用户名</username>
<password>http认证密码</password>
</server>
也可以编辑~/.m2/settings.xml
<!--deploy的时候会先从仓库获取,所以需要加上ref-nginx-maven-repository-->
<repositories>
<repository>
<id>ref-nginx-maven-repository</id>
<name>ref-nginx-maven-repository</name>
<url>http://nginx-maven-repository.域名</url>
</repository>
</repositories>
<!--配置要发布到的仓库,id要和前面settings.xml中配置的一致-->
<distributionManagement>
<repository>
<id>nginx-maven-repository</id>
<url>scp://nginx服务器地址/maven站点路径</url>
</repository>
</distributionManagement>
<!--增加scp插件-->
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
</build>
mvn deploy
<repositories>
<repository>
<id>ref-nginx-maven-repository</id>
<name>ref-nginx-maven-repository</name>
<url>http://nginx-maven-repository.域名</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>发布到仓库的groupId</groupId>
<artifactId>发布到仓库的artifactId</artifactId>
<version>发布到仓库的版本号</version>
</dependency>
</dependencies>
大功告成!
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章