通过curl上传nexus

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

1
2
 curl -v -F r=releases -F hasPom=false -F e=zip -F g=com.timoq.blog -F a=Wordpress-frontend -F v=v1.5.2 -F p=zip -F [email protected] -u timo-deploy:PASSWORD http://blog.timoq.com/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不能。