我们正在项目中使用IVY,并且我最近设置了Jenkins服务器,以便每次执行中继检查时都会发生以下情况。
trunk上的每个模块ivy.xml都使用rev =“latest.integration”声明依赖关系,而ivysettings.xml文件声明解析器如下。这可确保以后的SNAPSHOTS被下拉到本地IVY仓库。
<resolvers>
<chain name="chained" returnFirst="true">
<filesystem name="libraries" changingPattern="1.0-SNAPSHOT" changingMatcher="exact" checkmodified="true">
<ivy pattern="${ivy.repo.dir}/[organisation]/[module]/[revision]/ivy.xml"/>
<artifact pattern="${ivy.repo.dir}/[organisation]/[module]/[revision]/[artifact].[ext]"/>
</filesystem>
</chain>
</resolvers>
现在这在使用trunk进行开发时工作正常,但我对如何进行此操作感到困惑,以便我们可以发布发布工件。如果我是正确的,应该永远不要在生产部署中使用SNAPSHOTS吗?
我在考虑是否要实施周末运行的每周构建并执行以下操作。
现在,如果步骤1-4是正确的,那么我是否然后TAG SVN并为所有模块创建分支,以便可以检查IVY.xml文件在哪种状态下正确的依赖版本号?
答案 0 :(得分:0)
我可以分享我们如何设置事物,尽管我们的情况不同。
我们有一个单独的发布版本分支,以及一个单独的作业,它轮询这个分支并从中发布版本。我们的发布过程包括将主分支合并到发布分支。当然,这可以自动化。在您的情况下,如果第3步成功,也许您可以这样做。
因此,对于每个项目,我们都有一组处理快照构建的作业(跟踪“master”),以及一组处理发布版本的作业(跟踪“发布”)。这些工作在很大程度上是相似的,但不同。