首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布Maven、SVN和Hudson(jenkins)

发布Maven、SVN和Hudson(jenkins)
EN

Stack Overflow用户
提问于 2011-10-22 22:41:48
回答 2查看 578关注 0票数 0

我想做一个“版本”,它的含义与Maven发布插件的含义略有不同。

我有一个web项目(我想要“发布”),它依赖于由同一hudson构建的各种其他项目(而不是模块)。

“释放”应做以下工作:

MANIFEST)

  • deploy
  • 通过hudson
  • 构建web-project (将一个递增的版本号添加到tomcat (这已经在常规构建中了)
  • 创建一个新标记,其中包括在svn位置的版本号x
  • 复制所有以前构建的项目的当前SVN /头源到新标记

H 111将所有涉及的项目的所有pom版本更改为${versionNumber}.0.1-N/头H 212F 213上的快照。

我想这是每个人都必须做的事情,只是很难通过谷歌找到真正的解决方案。

EN

回答 2

Stack Overflow用户

发布于 2011-10-24 14:36:09

如果您有特定的需求,那么我认为实现这些需求的最简单方法是使用脚本。在Hudson中,可以使用几种脚本语言作为构建步骤。

票数 0
EN

Stack Overflow用户

发布于 2011-10-28 16:24:27

听起来很像我们的要求。我们还没有在詹金斯完全建立起这一切。

因此,我们有以下程序:

  1. 宣布冻结代码,使所有团队都能在主干中拥有“正确”的代码,并使代码彼此“同步”。
  2. 我们运行了一个(本地开发的) java工具来检查代码,为发布和发布标记创建分支。从下一次迭代开始,它还将用新的快照版本更新主干。该工具有自己的配置文件,因此它知道版本号是什么/将是什么,以及需要更新哪些项目(以及它们所在的位置)。
  3. 我们运行我们的“构建发布”作业,它几乎与所有内部企业repos断开连接(它只知道第三方和外部repos)。该作业清除本地maven回购(它有自己的回购,而其他作业没有使用)。我使用subversion-tag-参数来下载我们所有的项目特定的子文件夹(我们需要在作业中配置它),以及一个额外的Mega pom,它将所有下载的项目声明为模块(需要转到根文件夹)。此工作还完成了所需的所有打包工作(压缩静态内容,将来自不同项目的静态文件合并到一个存档中,...).
  4. deployment
  5. functional测试

)。

到目前为止,2有自己的工作,3是完全自动化的,我们只需要手动启动它。步骤4正在为CI工作,步骤5是为CI计划的。步骤4是发布过程自动化的热门候选步骤(即使它只是在部分中)。

我希望这能对你有所帮助,并给你一些想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7863103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档