问题标签 [continuous-integration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby on Rails 的持续集成?
我一直在寻找 Ruby on Rails 的持续集成解决方案,但对结果不太满意。我来自一家使用 CruiseControl.NET 的 .NET 商店,并且对它的易用性和丰富的状态/报告功能非常满意。
理想情况下,我正在寻找:
明显的 Git/SVN 和 Test::Unit 集成
与 Rake 和/或 Capistrano 集成
显示构建状态的 Web 界面
失败构建的电子邮件通知。
桌面通知(可能通过 Growl)
用于构建状态的 REST API
用于在 UI 中运行其他代码分析工具和报告结果的插件框架
python - Python 的“漂亮”持续集成
这是一个有点......徒劳的问题,但BuildBot的输出并不是特别好看......
例如,相比..
..和其他人,BuildBot看起来相当.. 陈旧
我目前正在玩 Hudson,但它非常以 Java 为中心(尽管使用本指南,我发现它比 BuildBot 更容易设置,并产生了更多信息)
基本上:是否有任何针对 python 的持续集成系统,可以产生大量闪亮的图表等?
更新:从那时起,Jenkins 项目已取代 Hudson 作为包的社区版本。原作者也已移至该项目。Jenkins 现在是 Ubuntu/Debian、RedHat/Fedora/CentOS 等的标准软件包。以下更新基本上仍然是正确的。使用Jenkins执行此操作的起点是不同的。
更新:在尝试了一些替代方案之后,我想我会坚持使用 Hudson。完整性很好也很简单,但非常有限。我认为Buildbot更适合拥有大量的 build-slave,而不是像我使用的那样在一台机器上运行所有东西。
为 Python 项目设置 Hudson 非常简单:
- 从http://hudson-ci.org/下载 Hudson
- 运行它
java -jar hudson.war
- 在默认地址打开网页界面
http://localhost:8080
- 转到管理 Hudson,插件,单击“更新”或类似
- 安装 Git 插件(我必须
git
在 Hudson 全局首选项中设置路径) - 新建项目,进入仓库,SCM轮询间隔等
- 如果尚未安装,请
nosetests
通过easy_install
- 在构建步骤中,添加
nosetests --with-xunit --verbose
- 选中“发布 JUnit 测试结果报告”并将“测试报告 XMLs”设置为
**/nosetests.xml
这就是所有需要的。您可以设置电子邮件通知,插件值得一看。我目前用于 Python 项目的一些:
- SLOCCount 插件用于计算代码行数(并绘制图表!) - 您需要单独安装sloccount
- 解析 PyLint 输出的违规行为(您可以设置警告阈值,绘制每个构建的违规数量)
- Cobertura可以解析 coverage.py 输出。Nosetest 可以在运行测试时收集覆盖率,使用
nosetests --with-coverage
(这将输出写入**/coverage.xml
)
automation - 具有“管道”支持的持续集成工具?
我们的自动化构建和测试正在占用越来越多的资源,特别是因为我们支持许多平台并在调试和优化中进行测试。因此,我正在寻找一些工具支持,以允许更多增量的“管道”方法,以便我们可以更快地获得反馈和结果。一些理想的特征包括:
支持增量反馈,因此我们可以在可用时查看构建、单元测试、快速测试、长时间运行测试、静态分析等的结果。
任务依赖性:如果构建失败,则不应运行测试,但可以运行其他任务(如 lint 或其他东西)。
支持多种构建和测试工具(包括自定义)。
支持多种平台(Linux、Mac,可能还有 Windows)。
一些归档能力会很棒,比如日志文件、构建/测试输出等。自然地,这可能会变得难以管理,因此理想情况下,一些数据会在 X 天或 Y 多次构建后被清除。
非常感谢任何指针或个人建议。
deployment - 自动部署资源
我知道我们需要通过单个用户操作来部署我们的应用程序。但是,我不知道:
- 在 .NET 商店中使用哪些好工具?
- 您如何管理每个环境的配置更改?
有人可以为我指出一些用于持续集成的好资源。我希望看到一些理论以及一步一步的实践指南。
编辑:
我现在需要自动化网络部署;但是,我还想了解如何为桌面应用程序执行此操作。
continuous-integration - 设置 CruiseControl 的初始成本是多少?
设置 CruiseControl 的初始成本是多少?
python - 可以集成 Google AppEngine 和 Google Code 以进行持续集成吗?
任何人对如何/是否可以集成 Google 代码提交以导致 Google AppEngine 部署最新代码有任何想法?
我有一个简单的 Google AppEngine 项目的源代码托管在 Google Code 上,如果我每次提交 Subversion 时,AppEngine 都会反映最新的提交,我会很高兴。我不介意现场是否有问题,因为该项目主要供个人使用和学习。
任何人都对如何绑定到代码存储库的颠覆提交和/或如何启动到 AppEngine 的部署有任何想法?理想情况下,该解决方案不需要我的任何手动操作,也不需要我机器上的任何类型的服务器/侦听器软件。
continuous-integration - 持续集成:您如何将构建与需求/任务/错误联系起来?
您如何回答团队中的经理、测试人员和其他人员提出的以下问题:
在哪个版本中修复了错误 #829?在我们当前的测试版本中完成了哪些任务?
简而言之,从报告报告到部署,您如何实现需求、任务和错误的可追溯性?您正在使用哪些流程、工具和技术来实现这一目标?
continuous-integration - Team City 与 CruiseControl.net - 哪个更好?
是否存在真正的明显差异,还是只是品味问题?
javascript - 持续集成期间js的最佳打包策略?
我需要打包我所有的 js,但需要将其编辑到源代码管理中。
是否有一个用于 ccnet 或 nant 的简单易用的插件,它可以让我打包我的 js,并在生产时将它们存储在相同的文件中。
不是真的在寻找文件组合,只是缩小每个文件。