问题标签 [continuous-deployment]

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.

0 投票
3 回答
2038 浏览

build-automation - 持续/自动部署对桌面应用程序有意义吗?

我目前正在阅读 Humble/Farley 的《 Continuos Delivery 》一书 ,虽然其中的很多内容都很有道理,但有一件事让我烦恼:

似乎作者只针对基于服务器的(单客户端?)应用程序(如 web 应用程序),他们处理要做什么并避免 wrt。自动化构建过程、测试和部署

查看标记为持续部署的问题,该术语似乎也仅用于基于服务器的应用程序的上下文中。

所以,我想知道,在创建桌面应用程序的“设置”(谈论 Windows 应用程序)之后自动化东西是否有意义?桌面应用程序的“部署”始终是用户驱动的,那么在这里自动化任何东西会有什么意义——而且,真的,什么东西可以自动化是有意义的?

哦,顺便说一句。我完全不确定这个问题是否会更好地放在programmers.SE上,所以如果你认为可以,请随时将它移到那里。

0 投票
1 回答
103 浏览

windows - Windows Azure - 部署到角色内的实例子集

我希望实现持续部署,几乎可以作为使用 Windows Azure 的概念证明,部署包和切换暂存 <-> 生产都很好,但是,我想在它的部署方式中添加一些智能。

本质上,如果我有 10 个实例,我想部署到暂存槽中的所有实例,并将其中的 3 个切换到生产和监控,以确保在全部切换到生产之前,这 3 个和其他 7 个之间没有统计误差差异,或者如果有,将这 3 个切换回现在正在分阶段运行的原始产品。

本质上,我想模仿http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/中所述的符号链接切换

从我所见,Azure 只允许在生产和暂存之间切换时采用全有或全无的方法?我也想过定义两组角色,但问题是不能在两个角色中使用相同的端点(我不认为?)。

有人知道这样做的方法吗?

0 投票
5 回答
1130 浏览

continuous-integration - Scrum Sprint 可以有多短?

根据这个 Scrum Sprint 描述,已知 Sprint 有 30 天,但也可以短至一周。这如何与持续部署相适应。使用 CD,您可以在完成整合后立即发布已完成的故事。

是否可以进行 2 周的 sprint,但不是在 sprint 结束时“交付”已完成的故事,而是表明它们已经交付?实际上,您可能已经在整个 sprint 中释放了它们。

问题在于,在整个 sprint 中集成和发布并不能让团队规划 sprint。它允许管理层推动团队发布发布、偷工减料和推出代码。

0 投票
2 回答
851 浏览

.net - 如何使用私有文件配置 TeamCity?

我正在为持续集成和(希望)持续部署设置 TeamCity。一些构建步骤将涉及私有文件,例如

  • 用于强命名 .NET 程序集的 .snk 文件
  • 用于发布工件的密码/令牌文件(例如到 NuGet 或 CodePlex)

由于这些文件包含私有数据,我不想将它们放入(可公开访问的)源代码控制系统中。

我正在为AutoFixture设置http://teamcity.codebetter.com ,因此我没有对服务器的物理访问权限。我希望有一个功能可以让我上传此类文件,但找不到任何此类文件。

什么是最合适的解决方案?

0 投票
1 回答
706 浏览

maven - 用于在 Java/Spring Web 项目上持续部署的持续集成服务器

我目前使用 maven 在本地构建、运行单元测试和部署我的 Java/Spring 网站。然后我运行 selenium 功能测试并运行整个长脚本以部署到生产并进行架构更改。我现在想自动化一切,所以我只能点击一个按钮,只要所有测试都通过,生产环境就会更新。

所以看来我可以通过插件或至少使用 ant 插件在 Maven 中完成所有这些工作。但是有很多可用的持续集成服务器……我听说过很多关于 Hudson 的事情。Hudson 手册指出,“Hudson 的主要用例之一是使用 Apache Maven 构建项目。” Hudson 是我需要的最佳选择吗?有更好的解决方案吗?我知道詹金斯是从哈德逊分叉出来的,这是一条更好的路线吗?

我不介意为帮助持续部署的工具或服务器付费。

0 投票
6 回答
6155 浏览

automated-tests - Automated acceptance testing - UI or API?

I've been researching automated acceptance testing over the last few days, learning about BDD & JBehave, FitNesse & Slim, Selenium & WebDriver, etc.

I've just viewed this video by Robert C. Martin where he demonstrates how to use FitNesse to write and maintain such tests. Towards the end, somebody asks if these tests hit the UI. Martin goes on to explain that coupling acceptance tests to the UI can be costly since changes to the UI are quite frequent. I could guess also that such tests could only be written after the UI has been developed, which would bring testers behind schedule by definition.

I have to ask: what is the alternative? Martin seems to be implying that tests should be hitting a hidden layer that would manipulate the application's business layer. My understanding is that this would require additional work, not to mention that it would expose a new API which would need to be secured once in a production environment.

Could hitting the business layer through application services be sufficient?

What has been your experience?

Thanks for sharing!

0 投票
3 回答
5772 浏览

deployment - 使用 TeamCity,如何针对先前构建和测试的构建运行手动触发 DEPLOY?

使用 TeamCity 6.5,如果可能的话,我试图弄清楚如何为特定的构建运行设置手动部署。

我想要做的是运行已经构建和测试的 TeamCity(只需要部署工件 - 这不是 Web 应用程序或站点)并调用 MSBuild 步骤将工件发布到其他地方。

0 投票
1 回答
901 浏览

database - 使用 Flyway 提供热修复

让我们考虑一下处理热修复的最佳策略是什么?Flyway 常见问题解答部分的问题。在这个问题中:

  1. 应用程序版本 7(和数据库版本 7)在生产中部署
  2. 应用程序版本 8 开始工作
  3. DB版本8在验收测试环境中开发部署
  4. 在生产中发现错误
  5. DB 7.1 版已开发,必须经过验收测试

当针对验收测试环境调用 flyway:migrate 时,它​​会注意到 v8 已经执行,因此无需执行 v7.1。

一方面这是有道理的,因为 v7.1 可能与 v8 不兼容,而且 Flyway 无法对此进行分析。快速失败是完全可以理解的。

另一方面,将 v7.1 部署到验收测试环境的唯一方法是清理数据库并运行 flyway:migrate with target = v7.1,从而丢弃可能已经使用的数据。

是否有一个我不知道的功能可以处理这种情况,还是 clean + migrate.target=v7.1 是唯一的选择?

0 投票
1 回答
3709 浏览

agile-processes - 敏捷发布管理工具

在持续部署方面,敏捷项目有什么更好的工具——Go来自 ThoughtWorks 或JetBrains的TeamCity ?

0 投票
3 回答
992 浏览

deployment - 通过 maven 部署到生产环境

我想在 maven 中创建一个目标,将我的 java webapp 部署到生产 tomcat 7 实例。这样做的最佳方法是什么?我希望有一个插件可以处理 SFTP 的战争并告诉 tomcat 重新加载。此插件需要在出现问题时处理回滚,将更新的静态文件上传到 S3(为它们重置云端缓存)并可能同步数据库更新。

这是否需要在 Maven 之外运行脚本?或者这种自动部署功能最好用 Ant 来完成?