Questions tagged «continuous-integration»

持续集成(CI)是指按频繁的计划对完整软件产品进行构建和自动测试:每天至少一次,每天多次,有时与每次签入版本控制系统后一样频繁。

8
如何在哈德森和詹金斯之间进行选择?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我花了一个小时左右的时间才得出结论,哈德森才刚刚成立 分支机构(2011年1月),我不知道每个分支机构的变化现在有多快,但更重要的是,每个分支机构的发展方向是什么,关键是什么要点,以便可以在其中选择一个? 有人链接到产品路线图和功能差异吗?

13
持续集成与持续交付与持续部署
这三个术语有什么区别?我的大学提供以下定义: 持续集成基本上只是意味着开发人员的工作副本每天与共享主线进行几次同步。 持续交付被描述为持续集成的逻辑演进:始终能够将产品投入生产! 连续交付被描述为连续交付后的逻辑下一步:只要产品通过质量检查,就自动将其部署到生产中! 它们还提供警告:如果您能够连续部署到测试系统,有时也会使用术语“连续部署”。 这一切让我感到困惑。任何更详细(或附带示例)的解释都将受到赞赏!

3
詹金斯vs特拉维斯-CI。您将在开源项目中使用哪一个?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 3年前关闭。 改善这个问题 对于我的项目,我需要在Jenkins和Travis-CI之间进行选择。我已经使用Jenkins多年了,但我也阅读了有关Travis-CI的好评。 您将在开源项目中使用哪一个?两者的主要优点或优点是什么?

12
如何在詹金斯(Jenkins)克隆工作?
Jenkins已将Gerrit插件安装到位,以便当我们对进行签入时Gerrit,Jenkins执行构建,如果成功,则将Gerrit验证其中的修改。如果构建失败,则不是。我的理解是,这是通过在中设置的工作来完成的Jenkins。现在,我们已经创建了一个新分支(git),我想我需要克隆指向另一个分支的现有作业,以便进行相同的工作流并在每次提交时执行构建。有人可以解释我将如何克隆这些工作吗?我似乎看不到通过UI进行操作的方法,甚至看不到通过UI列出作业的方法。

14
如何在詹金斯中设置环境变量?
我希望能够执行以下操作: AOEU=$(echo aoeu) 并安排詹金斯AOEU=aoeu。 Jenkins中的“ 环境变量”部分不这样做。而是设置了AOEU='$(echo aoeu)'。 如何让Jenkins评估Shell命令并将输出分配给环境变量? 最终,我希望能够将作业的执行者分配给可以传递给其他脚本或由其他脚本使用的环境变量。


9
为PHP项目设置部署/构建/ CI周期
我大部分时间都是孤独的开发人员,从事许多大型的,主要基于PHP的项目。我想专业化和自动化如何处理对代码库的更改,并创建一个持续集成过程,该过程使过渡到团队工作成为可能,而无需进行基本更改。 我现在正在做的是,每个项目都有一个本地测试环境。我在每个项目中都使用SVN;更改将在本地进行测试,然后通常通过FTP传输到在线版本。API文档是从源代码手动生成的;单元测试是我正在慢慢进行的事情,它还不是我日常工作的一部分。 我设想的“构建周期”将执行以下操作: 在本地进行测试后,变更集将签入SVN。 我开始构建过程。SVN HEAD修订版已签出,必要时进行了修改,并准备上载。 API文档会自动生成-如果尚未详细设置,请使用默认模板扫描整个代码库。 新修订版通过FTP部署到远程位置(包括一些目录重命名,chmodding,导入数据库等)。我已经非常喜欢phing了,但是我当然愿意接受替代方法。 运行位于预定位置的单元测试。我可以使用电子邮件,RSS或(最好是)HTML输出了解它们的失败或成功,可以将它们捕获并放入网页中。 (可选)使用提交消息的预定义部分来更新位于预定义位置的最终用户“ changelog”文本文件(“现在可以同时过滤“ foo”和“ bar”时间),此消息不一定与SVN提交消息相同,后者可能包含更多内部信息。 诸如代码指标,代码样式检查之类的东西现在不是我的主要重点,但是从长远来看,它们一定会。开箱即用的解决方案非常值得关注。 我在寻找 来自或处于类似情况的人的反馈和经验,并已成功地为此实施了解决方案 尤其是关于如何进行设置的良好的分步教程和演练 提供尽可能多自动化的解决方案,例如通过为每个新项目创建框架API,测试用例等。 并且 产品推荐。到目前为止,我所知道的是phing / ant用于构建,而phpUnderControl或Hudson用于报告部分。据我所知,我都喜欢它们,但是我当然对它们没有详细的经验。 我忙于工作,因此非常倾向于简单的解决方案。另一方面,如果缺少某个功能,我会抱怨它太有限。:)也欢迎点击解决方案。我也对可以与PHP项目一起使用的商业产品提出建议。 我的设定 我在本地Windows(准确地说是7)上工作,大多数客户端项目都在LAMP堆栈上运行,通常在共享主机上运行(=没有远程SSH)。我正在寻找可以在自己的环境中运行的解决方案。我准备为此设置一个Linux VM,没问题。仅当托管解决方案能够提供所描述的所有方面,或者足够灵活以与流程的其他部分进行交互时,托管解决方案才对我而言很有趣。 赏金 我接受我认为会给我最大里程的答案。这里有很多很棒的建议,我希望我可以接受多个答案。感谢大家!


5
在Maven构建过程中跳过子模块
我们需要能够在某些环境中跳过子模块。 有问题的模块包含集成测试,并且需要半小时才能运行。因此,我们希望在CI服务器上进行构建时将其包括在内,但是当开发人员在本地进行构建(并运行测试)时,我们希望跳过该模块。 有没有办法通过配置文件设置来做到这一点?我已经进行了一些谷歌搜索,并在这里查看了其他问题/答案,但没有找到一个好的解决方案。 我想一个选择是从父级中pom.xml完全删除该子模块,然后在CI服务器上添加另一个项目以构建该模块。 有什么建议吗?

22
Ruby on Rails的持续集成?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我一直在寻找Ruby on Rails的持续集成解决方案,但是对结果并不太满意。我来自一家使用CruiseControl.NET的.NET商店,它的易用性和丰富的状态/报告确实让我宠坏了。 理想情况下,我正在寻找: 明显的Git / SVN和Test :: Unit集成 与Rake和/或Capistrano集成 Web界面显示构建状态 电子邮件通知失败的版本。 桌面通知(可能通过Growl) REST API的构建状态 用于运行其他代码分析工具并在UI中报告结果的插件框架

9
我如何以及为什么要设置C#构建机器?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 我正在与一个小型的(4人)开发团队一起从事C#项目。我建议设置一台构建机器,该机器每晚进行项目的构建和测试,因为我知道这是一件好事。麻烦的是,我们在这里没有太多预算,因此我必须将费用证明是合理的。所以我想知道: 我需要什么样的工具/许可证?现在,我们使用Visual Studio和Smart Assembly进行构建,并使用Perforce进行源代码控制。我是否还需要其他东西,或者有等同于cron的工作来运行自动化脚本? 除了显示损坏的迹象以外,这还能使我得到什么?我是否应该在该解决方案(sln文件)中设置将由这些脚本运行的测试项目,以便可以对特定功能进行测试?目前,我们有两个这样的测试,因为我们没有时间(或坦率地说,没有经验)进行好的单元测试。 我需要哪种硬件? 构建完成并经过测试后,将其放置在ftp站点上还是一种内部访问方式是一种常见的做法?想法是,这台机器可以完成构建,我们都去做,但是可以根据需要进行调试。 我们应该多久进行一次这种构建? 如何管理空间?如果我们每晚进行构建,我们应该保留所有旧构建,还是大约一周后开始弃用它们? 还有什么我没看到的吗? 我意识到这是一个很大的话题,我才刚开始。我在这里找不到这个问题的副本,如果那里有一本书我应该拿回来,请告诉我。 编辑:我终于得到它的工作!Hudson完全是太棒了,FxCop表明我们认为实现的某些功能实际上是不完整的。我们还必须将安装程序类型从“旧式” vdproj更改为“ New Hotness WiX”。 基本上,对于那些关注的人,如果可以从命令行运行构建,则可以将其放入hudson。通过MSBuild从命令行运行生成本身是一个有用的练习,因为它会强制您的工具是最新的。

12
您如何维护开发代码和生产代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 改善这个问题 维护代码时应遵循的最佳实践和经验法则是什么?在开发分支中仅提供生产就绪代码是一种好习惯,还是在开发分支中提供未经测试的最新代码? 你们如何维护您的开发代码和生产代码? 编辑-补充问题-您的开发团队是否遵循“尽快并可能甚至在代码中包含次要错误或未完成的情况下提交”协议或“提交-将代码提交到DEVELOPMENT分支时是否只有“完美代码”协议?

7
验证Github私有存储库的Jenkins CI
我希望Jenkins从托管在Github上的私有存储库自动获取数据。但是我不知道如何完成该任务。尝试了文档,为jenkins用户生成了ssh-key,我所看到的就是:“无法克隆存储库”。我已经检查过网址-它们是有效的。 任何线索,也许您知道一些描述此类内容的文档/博客/内容?

4
将文物存档在詹金斯
有人可以向我解释构建过程中工件的想法吗? 我有工作区目录,在其中可以检出代码来编译和运行我的ant脚本等。最后,以我为例,我得到了一个准备安装的jar文件。那被认为是人工产物吗? 我应该在哪里告诉我的构建脚本放入jar文件?在工作区目录中?我的jar文件会根据诸如此类的变量获得唯一的文件名BUILD_ID,我如何告诉Jenkins选择哪个jar文件? 编辑:好的,所以我尝试做这样的事情: 该路径在我的工作空间中尚不存在,因为应该由构建脚本来创建该路径,当然,.jarand .properties文件不存在,因为尚未生成它们。那为什么给我一个错误?好像我缺少什么。 另外,Jenkins是否在每次构建后删除工件(不是归档的工件,我知道我可以告诉它删除那些工件)?否则,它将很快阻塞硬盘驱动器。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.