云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云解析_IBM的_9元

小七 141 0

所以你想推出你自己的Jenkins定制版本

我们经常有一个客户,他们不能冒着跳槽到新的Jenkins的风险,但他们目前需要一些特定的补丁或其他。如一个规则是,CloudBees不向客户提供Jenkins的定制版本(注:我们支持那些希望运行自己的Jenkins定制版本的客户,例如,请参阅支持条款客户)但假设您的时间不够…您的Jenkins实例遇到了一个关键问题…该问题已在更新版本的Jenkins中修复…但您正处于下一个发布正式发布之前的最后冲刺阶段,没有时间升级Jenkins,但关键问题意味着Jenkins不适合您。唯一的答案是创建一个Jenkins的自定义版本,并在原来的版本上选择修复cherry跑啊。来Stephen的备忘单就是为了创造这样一个建造:准备需要一台机器来编译詹金斯。或者在Windows操作系统上安装反病毒软件会大大降低速度。。。另外,windows上的GIT没有其他操作系统上的好)你需要安装一个最新的javajdk(6或7),你需要安装apachemaven(目前推荐使用3.0.5或3.0.4,当然也可以用于构建1.520ish之前的任何Jenkins版本,因为3.1.0是最近才发布的,并且与Maven存在任何插件兼容性问题3.1.0和Jenkins中使用的Maven插件pom.xml文件在Maven 3.1.0发布之前,可能还没有解析文件),您需要安装GITCheck,确保所需的一切都在$java-version路径上$mvn-版本$git--version在我的机器上我得到了下面的$java-versionjava版本"1.7.0_25"java(TM)SE运行时环境(内部版本1.7.0_25-b15)Java HotSpot(TM)64位服务器VM(内部版本23.25-b01,混合模式)$mvn-版本Apache Maven 3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da;2013-02-19 13:51:28+0000)Maven主页:/usr/share/java/Maven-3.0.5Java版本:1.7.0_25,供应商:Oracle CorporationJava主页:/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/home/jre默认语言环境:en_US,平台编码:UTF-8操作系统名称:"mac OS x",版本:"10.8.4",架构:"x86\u 64",系列:"mac"$git—版本git版本1.8.2.3正在构建JenkinsCheckout Jenkins$git克隆git@github.com:詹金西/詹金斯.git切换到您想要基于$cd jenkins$git checkout jenkins-1.480.3验证您是否正确设置了Maven和javajdk(即,只需快速构建)$mvn package-DskipTests Cherry选择您想要的提交$gitcherry pick给它一个版本号,表明它是你的版本号$mvn版本:设置版本在你的快照版本中,你可以把它放到你的快照版本中。对于将投入生产的生成,请删除快照。一旦您构建了一个不带-SNAPSHOT的版本号,则对所有后续版本使用更高的版本号建造。建造Jenkins和你的commits$mvn clean package-DskipTests注意:理想情况下你不会跳过测试,但是,在第一次构建Jenkins时让测试套件工作起来可能很棘手,构建的结果是./war/target/詹金斯。沃特拉如果这是你希望经常做的事情,你可能会想做以下事情,把GitHub上的Jenkins存储库放入你自己的GitHub帐户更改你的GIT checkout to be your fork将您的补丁集推到指定的分支,例如jenkins-1.480.3-patchset当您想将补丁集的基线移动到jenkins的新版本时,您将把补丁集重新设置到新版本的jenkins上,例如$GIT checkout jenkins-1.480.3-patchset$git瑞贝斯詹金斯-1.509.2$git结账-b jenkins-1.509.2-patchset$git push-u origin jenkins-1.509.2-patchset如果您打算包含自己编写的补丁,而这些补丁不是来自上游的cherry picks,请确保您的patchset在定制补丁之前首先拥有所有cherry picks。这将使补丁重新定位到新版本的Jenkins上最简单。做不添加版本号更改(即从mvn版本:set命令)例如,您的发布过程可能类似于这样的$git checkout jenkins-1.480.3-patchset-b jenkins-1.480.3-yourcompany$mvn干净版本:设置版本:提交-DnewVersion=1.480.3-yourcompany-01$git commit-a-m"将版本更新到1.480.3-yourcompany-01"$git标签jenkins-1.480.3-yourcompany-01$git结账jenkins-1.480.3-yourcompany-01$git分行-d詹金斯-1.480.3-贵公司$mvn package-DskipTests,它将版本号更改保留在修补程序集之外,但也保留您的建造。注意:powergit用户可能会对我创建和销毁jenkins-1.480.3-yourcompany分支感到畏缩,但他们应该知道"正确"的方法以及要使用的命令。以上是针对新手GIT用户,并将为他们工作的最小结论,我希望你发现这是有用的。我也希望,如果你要走这条路,你会发现樱桃采摘容易合并。从一个新的詹金斯(上个月内的任何东西)和一个非常老的詹金斯(任何超过一岁的东西)合并樱桃采摘可能是痛苦/有趣的…-斯蒂芬康诺利云蜂cloudbees.com斯蒂芬康诺利有超过20年的软件开发经验。他参与了许多开源项目,包括Jenkins。Stephen是Jenkins项目的首批非Sun成员之一,他开发了天气图标。斯蒂芬住在爱尔兰都柏林,那里的天气图标特别有用。在Twitter和他的博客上关注斯蒂芬。