问题标签 [continuous-delivery]
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.
svn - Jenkins 可以签出/编译/测试并提交到不同的 SVN 分支吗?
全部-
我已经使用 Jenkins 大约一年了,现在我正在尝试为我的团队设置一个持续交付管道并且有一个问题。
问题
是否可以让 Jenkins 从一个 SVN 分支签出/编译/测试代码,然后,如果一切通过,将该代码推送到另一个 SVN 分支?
对于我的团队,我正在设想以下分支::
每个单独的问题分支都将是稳定分支的副本
但
单个问题分支的提交将转到集成分支。
我希望詹金斯::
- 在 SVN 中侦听针对集成分支的提交
- 从 SVN 下载集成分支
- 编译集成分支代码
- 运行任何单元测试
- 如果一切顺利,将新代码提交到稳定分支
那么,Jenkins 是否可以从一个 SVN 分支签出/编译/测试代码并在成功后将该代码提交到另一个 SVN 分支?
感谢您的时间,
杰夫
deployment - 红/黑部署策略是如何实现的?
我最近遇到了这篇 Netflix 博客文章http://techblog.netflix.com/2013/08/deploying-netflix-api.html
他们谈论的是红/黑部署,他们并排运行旧代码和新代码,并将生产流量引导到它们两者。如果出现问题,他们会回滚。
交通指挥如何运作?是否可以使用例如两个 Docker 容器来调整这种策略?
node.js - 持续交付的功能标志解决方案
我正在构建一个具有 2 周冲刺周期的应用程序。我们目前会一次性测试所有功能推出,然后在出现问题时进行热补丁。我们的堆栈是带有 angular 和 mongo 的节点。
是否有人使用任何 SAAS 解决方案进行功能标记或其他任何有助于持续交付的方法?
编辑:试用LaunchDarkly - 将发布更新
Edit2:从试用版更新 - 好的,它在我的堆栈中似乎运行顺利 - 仍需要再测试几周。Launchdarkly 功能标志设置非常简单,因此我将在此处对其进行概述。
安装 SDK
传递自定义参数
将用户属性作为 JSON 对象传递
所有非常简单的文档。
Edit3:现在已经使用了 3 周,并且有一些初步的想法。功能标记驱动开发一直很有用,尽管很难追溯集成我们的一些更强大的功能。能够使用我们的优化目标将 launchdarkly api 用于 A/B 测试指标。
google-chrome-extension - 如何持续向 Chrome 商店提供应用更新?特拉维斯CI?
我有一个 chrome 应用程序,我想将它自动部署到 Chrome 应用程序商店,作为我持续交付管道的一部分......
有没有办法用 Travis CI 做到这一点?
Travis 是否提供了一种将压缩的工件上传到 chrome 商店的方法?
是否可以使用 chrome 商店的 cli 构建这样的功能?
java - TeamCity 8.x 中特定分支的 Git 提交的版本号
我正在 TC 中构建一个持续交付管道,作为第 0 个构建步骤,我希望能够提取我提供给我的提交的唯一版本号。
它看起来像这样:release_4.46。
我想使用“4.46”部分附加到管道的不同步骤,作为最后一步,将我的工件命名为 app_4.46.war。
我已经设法组装了大部分管道(单元测试、jsHint、Maven 构建)并且它已启动并运行,但我无法完成此功能。
任何帮助或指针表示赞赏。谢谢
docker - 在容器中构建和测试更好吗?
我正在为一个新项目创建 CI & CD 管道。由于我们使用的是 Docker,所以我的问题是:在 Docker 容器中构建和测试是否更好,所以步骤是:
- 构建 Docker 镜像
- 在其中运行应用程序构建
- 在其中运行应用程序测试
- 推送 Docker 镜像
或者在 Docker 容器之外,在 CI 通过后,构建镜像:
- 直接在 CI 服务器上构建项目(容器外)
- 直接在 CI 服务器上测试(容器外)
- 构建 Docker 镜像并推送
sonarqube - SonarQube 是否支持分层覆盖报告?
Sonar 支持单独报告单元测试与集成测试的能力,这很棒: http: //www.sonarqube.org/measure-coverage-by-integration-tests-with-sonar-updated/
也就是说,我们实际上希望从多个不同的角度来看待覆盖范围,以便做出各种投资决策。
例如,我们目前拥有许多测试技术,其中许多已被视为“遗留”。能够查看我的产品的树状图(可能根据复杂性或“代码流失率”来衡量)并查看覆盖哪些测试技术的覆盖区域将会很棒:
- 硒
- 泰勒里克
- RSPEC
- 茄子
- ETC
我们还在构建具有多层测试的分阶段持续交付管道。例如:
- 提交后(确保您的提交不会炸毁开发团队的其他成员,非常快)
- 信心(一组更深入的测试,涵盖所有主要测试用例,比 Post-Commit 稍慢,但仍然相当快)
- 完全回归(我们武器库中的所有测试 - 非常缓慢,但很深)
与测试技术的情况类似,能够将这些层叠加到树形图上以显示每个阶段如何覆盖产品以做出权衡决策,这将是非常棒的。
有没有人能够使用现有的 SonarQube 插件和技术来做到这一点,或者这超出了 Sonarqube 支持的范围?
谢谢!
continuous-integration - 在持续交付中构建版本控制
我有一些关于持续交付版本控制的具体问题。我想我了解全球工作流程或多或少是这样的:
版本控制呢?如何管理构建版本?
假设我们正在开发一个基于 Maven 且带有语义版本控制的项目:major.minor.build
.
当开发人员向 VCS 提交更改并且 CI 服务器执行构建时,CI 服务器是否应该增加构建版本并在 VCS 中创建标签?
源代码中是否存在此构建版本?如果是这样,在每次推送到 VCS 之后,开发人员应该更新项目,因为 CI 服务器提交了项目上的更改(版本增量)。
我有点困惑,我想以实际的方式了解 CD 工作流程。