Gre*_*egB 25 deployment artifacts nexus artifactory
我的云服务器位于世界各地的不同数据中心.每个数据中心都与其他数据中心分开.
我正在寻找一种简单的方法,可以轻松,一致地在每个区域中将工件部署到各个服务器集群(可能运行不同版本的软件,即开发,测试和生产集群).在我看来,工件服务器是我需要的,因为我可以在云服务器上执行安装脚本,从而下载正确的软件工件.
现在,我在运营方面工作.我不关心做构建或管理软件构建依赖性.我只想要一个工件服务器,我可以存储我的所有不同版本的软件包,以便以后访问.踢球者,我有几种不同类型的工件要存储.
Nexus或Artifactory可以管理所有这些类型的包,还是我应该朝不同的方向寻找?我不反对将make文件添加到我的shell脚本项目中,这些项目只生成tar.gz文件.我只是不想走下设置工件库的道路,最终,一个小脚本,wget和一个apache服务器可以正常工作.
noa*_*amt 25
Artifactory和Nexus都可以处理任何类型的文件,因为它们都是"二进制存储库管理器".
尽管如此,Nexus可以在技术上存储任何文件,但缺乏对不遵守Maven存储库布局的二进制文件的支持.例如,这些文件不会被编入索引,也无法在搜索中检索到; 此外,如果非Maven工件在其路径中阻碍模块信息,那么当前Artifactory是唯一可以利用它并允许基于工件的操作的存储库(例如,下载最新版本查询)
尽管这两种工具都是通过解决Maven世界中的问题而开始的,但是智能二进制管理的需求已经在许多其他领域得到认可,包括操作.
二进制文件确实需要一个专门的管理器,虽然网络共享/ SCM /文件服务器在开始时似乎是一个可行的选择; 他们只是不规模.
另请参阅我对类似问题的回答,了解管理者对其他临时解决方案的一些好处.
是的,您可以上传非jar文件.例如:
mvn deploy:deploy-file -DgroupId=org.group.id -DartifactId=artifact-id -Dversion=0.0.0.1-SNAPSHOT -Dpackaging=tar.gz -DrepositoryId=repository-id -Durl=http://url -Dfile=localfile-0.0.0.1-SNAPSHOT.tar.gz
Run Code Online (Sandbox Code Playgroud)
较新版本的Nexus将通过验证它们是否正确形成来处理某些文件,如tar,swf等.但是,这可能会导致意外或不需要的行为.
这是最好的方式......只有你可以根据你的用例说出来.诸如工件变化的频率,网络延迟等因素可以决定策略.
裁判:
http://betterlogic.com/roger/2012/04/mavennexus-upload-tgztar-gz-file/
| 归档时间: |
|
| 查看次数: |
24202 次 |
| 最近记录: |