jar包都通过maven+nexus来进行管理了。不想部署多套版本管理,所以有些其他程序的也想用nexus来进行版本管理,最简单的方式就是通过curl的了。当然nexus原生还提供使用npm的方式。

 

主要通过下面2个页面学习了下。

https://support.sonatype.com/hc/en-us/articles/213465818-How-can-I-programatically-upload-an-artifact-into-Nexus-

http://stackoverflow.com/questions/4029532/upload-artifacts-to-nexus-without-maven


curl -v -F r=releases -F hasPom=false -F e=zip -F g=me.piqiu.timo -F a=Wordpress-frontend -F v=v1.5.2 -F p=zip -F file=@rs-v1.5.2.zip -u timo-deploy:PASSWORD http://timo.piqiu.me/nexus/service/local/artifact/maven/content

-F e= 上传后的扩展名
-F p= 本地的打包方式
-F g= 所在子目录
-F r= nexus主目录
-F file= 本地文件名
-F a= nexus上目录(以及文件名前缀)
-F v= nexus上版本号

不过要稍微注意下,上传的Repository的policy必须是release的,不能是snapshot的,至于snapshot和release这2个policy有啥区别,可以参考

http://stackoverflow.com/questions/275555/maven-snapshot-repository-vs-release-repository

其实就是snapshot可以随时改,就是覆盖原先的版本,而release不能。

Share Your Thought