2012-03-23 29 views
5

我在一个项目上设置一个ant构建系统,依赖项解析由ivy管理。我已经启动并运行当前用于本地和共享存储库的文件系统。我的最终目标是,当开发人员修复错误或创建新功能时,他们只能将工件放入其本地存储库。当他们相信他们的代码已经准备好被其他团队使用时,它会被提升到SVN的正确分支,负责官方构建的团队将编译和发布新的工件。设置一个共享的常青藤资源库

所以我想我的问题是如何控制谁可以发布到存储库?常春藤只依赖文件系统权限吗?

此外,我最终想通过http使我的共享资源库可用。我想我可以将apache指向文件系统存储库目录以检索工件,但是如何设置发布到http存储库?

回答

1

你可以在你的ivy设置文件中指定三个解析器。首先将是一个链式解析器,其中包括远程和本地常春藤库。其次是本地常青藤资源库的本地解析器。第三个解析器仅适用于远程常青藤库。

每个开发人员都使用第一个链式解析器来检索工件。

通常的开发人员使用第二个本地解析器发布工件。

您的特殊团队可以使用第三个远程解析器发布远程常驻资料库。 保护远离常用开发人员的存储库将其置于(S)FTP服务器上,使用密码进行写保护。

在这种情况下唯一的问题是如何设置工件上的版本,以便某些情况下发布在远程存储库中的工件在某些情况下覆盖本地发布。

我们的团队几年前就采用了这样的方案。但是现在我们只使用本地常青藤资源库和CI服务器来构建并运行来自各个分支的测试。切换到git后,我们想到了这一点。

3

我建议你设置一个资源库管理器来管理你的项目的构建工件。

最好的选择是下列之一:

发布到Maven仓库意味着你的工件可以通过使用其他项目消耗建立技术。所有现代构建系统都支持Maven(包括ivy,请参阅ibiblio resolver)。