建立一个共享的Ivy仓库

5
我正在一个使用ivy来管理依赖关系的项目中搭建一个ant构建系统。我已经成功地让它使用文件系统来作为本地和共享仓库。我的终极目标是,当开发人员修复错误或创建新功能时,他们只能将构件放入他们的本地仓库。当他们认为他们的代码可以被团队的其他成员使用时,它会被提升到SVN中的正确分支,并且负责进行官方构建的小组将编译并发布新的构件。
所以,我的问题是如何控制谁可以向仓库发布内容?Ivy是否仅依赖于文件系统权限?
此外,我最终希望通过http来让我的共享仓库可用。我想我可以将apache指向文件系统仓库目录来检索构件,但是如何设置发布到http仓库?
3个回答

4
我建议您设置一个仓库管理器来管理项目的构建产物。
最佳选择之一为以下内容:
- nexus - artifactory - archiva 发布到Maven仓库意味着您的产物可以被使用其他构建技术的项目所使用。所有现代构建系统都支持Maven(包括Ivy,请参见ibiblio resolver)。

2
您可以在ivy设置文件中指定三个解析器。首先是包括远程和本地ivy仓库的链式解析器。第二个是用于本地ivy仓库的本地解析器。第三个是仅用于远程ivy仓库的解析器。
每个开发人员都使用第一个链式解析器来检索构件。
通常,开发人员使用第二个本地解析器发布构件。
您的特殊团队可以使用第三个远程解析器来发布到远程ivy存储库中。为了保护远程存储库不受普通开发人员的影响,请将其放置在具有密码写入保护的(S)FTP服务器上。
在这种情况下唯一的问题是如何设置构件版本,以便在某些情况下覆盖本地发布的构件,在某些情况下不会覆盖。
我们的团队几年前使用过这样的方案。但是现在我们只使用本地ivy存储库和CI服务器从各个分支构建和运行测试。在切换到git后,我们想到了这一点。

0

对于现有的ivy repo,设置起来非常简单:rest-ivy


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接