我们的团队现在正在发布火车部署模型(http://thinking-in-code.blogspot.com/2010/07/train-model-of-software-development.html),我们需要工具或方法来管理如何我们合并 Pull 请求并构建新版本。
注意:我将使用 Git 术语来解释问题
通过发布序列部署模型,发布按固定的时间表进行,并且功能固定到特定的版本。但此模型的核心思想是,如果某个功能不完整或特别不存在错误,则该功能不会在即将发布的版本中采用,而是计划在以后的版本中使用。
考虑到这一点,我们需要一些方法来管理 Pull 请求并发布以下方面的版本:
可以使用所有功能分支进行构建,以便可以对该构建进行测试(QA)。我们实际上不想将其合并到我们的开发或发布分支中。(为什么?下一点会讨论)
因此,如果某个功能不是零错误(无错误),我们会希望删除该功能。因此,我们实际上只会合并零错误的功能并创建新的发布版本。这样,一个功能就可以很容易地被删除。就发布列车术语而言,该功能不会登上发布列车。
我们的想法:
假设master包含已发布的代码。现在在其之上创建了特征分支 F1、F2、F3。
我们的自动化设置将按时间顺序将这些功能分支(来自具有“已批准”状态的拉取请求)合并到从主分支中删除的临时分支中,并且设置将从该临时分支创建用于 QA 测试的构建。(合并临时分支不会关闭PR)
现在,如果只有功能 F1 和 F3 在零错误日期没有错误,那么 F1 和 F3 的 PR 将被手动合并到 master 中,并且将从 master 创建最终发布版本。
(注:对于第1点,如果出现合并冲突,则由各个分支的开发人员解决。)
有没有 Jenkins 插件或任何其他工具可以帮助我们实现上述目标。请分享一些对此的想法,并提出处理此问题的更好方法。
在Agiles 2008(阿根廷布宜诺斯艾利斯)的结束会议上,一些讲座谈论成为工匠而不是工程师.你觉得怎么样?
编辑:我添加了一个指向Tobias Mayer博客链接的链接
在过去,我的开发团队主要针对现有应用程序进行瀑布式开发,部署只是在发布结束时才真正完成,通常会导致TEST,UAT,PROD版本通常只包含三到五个版本月周期.
发行版是通过组策略部署的MSI安装程序.
我们现在已经转向更灵活的方法,并且每天至少需要发布一次用于测试的版本,有时更频繁.
该应用程序是一个VB6应用程序,MSI正在为我们处理COM注册,用户没有在其计算机上提升权限.
有没有人有更好的快速部署解决方案?
我们已经考虑了MSI的批量/脚本安装,或者每个文件进行COM注册,使用CPAU来提升权限,以及ClickOnce.这些都没有经过测试.
编辑:感谢您的建议.为了澄清,我的痛点是MSI构建/部署过程需要很长时间,最多可能需要两个小时才能将新版本构建到测试人员桌面上.测试人员不在他们的机器上管理权限(并且不会获得他们)所以我正在寻找更好的解决方案.
我使用了ClickOnce,使用了一个启动应用程序的点网络包装器,并将所有OCX/DLL vb6程序集作为独立的依赖项,但是在启动时找到所有程序集时遇到问题,或者发出相应的消息.
这不是一个巨魔,但我想知道什么是最好的XP或Scrum的项目已经开始 我们是6个开发人员在我公司的一个重要项目的问题是,在vacacion periode期间经典的V循环只是'没有'有效并且有一名初级建筑师,我被要求对团队有一定的敏捷性.
所以我的问题是,在第三周的项目中包含敏捷性的最佳模式是什么?
编辑1:我忘了问为什么:)
编辑2:团队使用EntityFramework.
我正在和招聘人员讨论使用配对编程的机会.
对我来说,有两个高级开发人员一起工作的担忧,因为我希望我会在另一个工作的同时阅读.
但是,当我与这位招聘人员交谈时,我想到了配对编程可能有用的方法,如果有一个编辑器允许两个人同时对同一个文件进行更改,那么,一个人可能正在制作文件中的注释,正如其他人正在努力实现该功能.这些注释可能有助于解释设计该功能时的思维模式是什么,因为如果两个高级开发人员正在研究某些功能,那么它应该是一个足够复杂的问题,需要进一步解释.
我不知道任何允许这样做的编辑器,因为它可能必须是基于网络的,以便同时查看和修改同一个问题.
这样的事情会有用吗?
这种工具还有什么其他的用途我会失踪?
我不在乎讨论配对编程是否是一个好主意,我有自己的看法,但这个概念对我来说非常有趣.
我一直在学习Scrum并尝试使用一种叫做Acunote的工具.我的问题是关于每个任务我在那里的两个领域.他们是"估计"和"剩下的".我应该用哪些单位?我使用故事点吗?剩下的呢?例如,我有一个任务需要10个单位,比方说.我在剩下的一天结束时填写了多少"单位",我相信它会让我完成?
谢谢!
基本上我们有一排排的程序员,他们每天都在完成平凡的任务.这将涉及编写不是非常有效的代码,不进行单元测试,并且经常与应用程序集成得很差.更不用说在工作时间和工作时间方面没有问责制.我不是试图让人们被解雇或让生活变得悲惨.我想要的只是流线敏捷(我们公司禁止使用这个词)流程.这会涉及设置像Hudson集成服务器这样的东西吗?与项目管理软件相关的版本控制?
有没有人知道一个很好的网络服务,我可以在那里与其他人一起编写和修改用户故事?我用过Google的Wave.但截至2012年,谷歌确实关闭了这个项目.
agile ×10
scrum ×2
architecture ×1
build ×1
c# ×1
deployment ×1
estimation ×1
git ×1
hudson ×1
jenkins ×1
organization ×1
tdd ×1
user-stories ×1
vb6 ×1