问题标签 [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.
ruby-on-rails - Rails 中的无缝部署
我想无缝升级我的 Rails 应用程序:
意义:
- 如果不需要运行迁移,我想透明地升级代码并且在部署期间没有请求进入 404。
- 这很难我想要一些可以无缝升级数据库的过程,并且在此期间,当数据库更新完成时,只需阻止 Web 请求(将它们在管道中排队),允许内容通过。(我只需要它来处理短时间的迁移——比如 5-10 秒的迁移)。
您将如何实现这一目标?
heroku - 如何关闭部署在 Heroku 上的应用程序?
我在 Heroku 上有一个应用程序,很少有用户使用。但是,我注意到有一些数据问题我想修复并同时停止应用程序,这样用户就不会输入任何新内容。
有没有办法阻止 Heroku 上的应用程序而不是销毁它?我看到重启服务器命令在那里......虽然我没有看到像“停止”这样的东西。
c# - 使用 ASP.NET 网站进行持续部署?
我有一个 C#/ASP.NET 网站,目前正在开发中。当我们在生产中时,我想在一天中经常发布,因为我们修复错误并添加功能(例如:http ://toni.org/2010/05/19/in-praise-of -连续部署-wordpress-com-story/)。
如果您上传网站的新版本甚至更改单个文件,它会踢出当前登录的用户并让他们从任何表单等开始。在不干扰 .NET 站点用户的情况下进行部署有什么秘诀吗?
ruby-on-rails - 使用 Git 和 Heroku 进行适当的持续集成和持续部署
我正在使用 heroku 和 git 开发一个 ruby on rails 网站。
我应该使用哪些工具和功能来设置以下简单的开发过程?
代码 > 签到 > 自动测试 > 自动部署
- 我将我的代码检查到我的存储库中(首选选项,托管 git,如 github)
- 测试自动运行并且网站部署在我的登台 Heroku 应用程序中
- 如果测试通过,网站会自动部署在我的生产 heroku 应用上
- 如果测试失败,我想以某种方式得到通知。
你会怎么做?
visual-studio-2008 - 从 TeamCity 的单个解决方案发布多个项目
我有一个包含多个项目的 VS2008 解决方案。我需要发布其中五个项目,而这五个项目中的两个需要发布两次,具有两个不同的配置设置(只需对几个 web.config 属性的 configSource 进行简单更改即可)。
然后,我想获取生成的 7 个输出并将 4 个放入一个 zip 文件中,将另外 3 个放入另一个中,然后将它们推送到准备部署的客户端 FTP。
我是否试图在一个构建配置中做太多事情,或者这是否合理?
ruby - 自动将 gem 从持续集成服务器推送到 RubyGems.org
我有一个持续集成/持续部署方案,我希望我的构建脚本直接从公共构建服务器 (teamcity.codebetter.com) 将 ruby gem 推送到 RubyGems.org。
问题是:如何指定我的凭据?在我的本地机器上,我将它们放在 ~/.gem/credentials 下,一切正常,但我如何告诉构建服务器推送我的 gem?
谢谢和最好的问候, 斯蒂芬福克曼
java - 如何停止 Maven 的验证阶段重建工件?
想象一个使用 Maven 构建的 Java 项目,我有:
- 一些快速运行的单元测试:
- 开发人员应该在提交之前运行
- 我的 CI 服务器(Hudson,FWIW)应该在检测到新提交时运行,在出现故障时提供几乎即时的反馈
- 一些运行缓慢的自动化验收测试:
- 开发人员可以选择运行,例如重现和修复故障
- 我的 CI 服务器应该在成功运行单元测试后运行
这似乎是一个典型的场景。目前,我正在运行:
- “测试”阶段的单元测试
- “验证”阶段的验收测试
配置了两个 CI 作业,都指向项目的 VCS 分支:
- “提交阶段”,运行“mvn 包”(编译和单元测试代码,构建工件),如果成功,将触发:
- “Automated Acceptance Tests”,运行“mvn verify”(设置、运行和拆除验收测试)
问题是作业 2 单元测试并重新构建被测工件(因为验证阶段会自动调用包阶段)。出于以下几个原因(重要性降低),这是不可取的:
- 作业 2 创建的工件可能与作业 1 创建的工件不同(例如,如果同时有新的提交)
- 延长了对做出提交的开发人员的反馈循环(即他们需要更长的时间才能发现他们破坏了构建)
- 浪费 CI 服务器上的资源
所以我的问题是,如何配置作业 2 以使用作业 1 创建的工件?
我意识到我可以只拥有一个运行“mvn verify”的 CI 作业,它只会创建一次工件,但我希望拥有上述单独的 CI 作业以实现 Farley 风格的部署管道。
如果它对任何人都有帮助,这是已接受答案中“项目 2”的完整 Maven 2 POM:
请注意,即使这个“测试”项目没有创建工件,它也必须使用某种包装(我在这里使用了“jar”),否则在验证阶段不会运行任何测试。
methodology - 选择合适的技术和环境
我们是两个处于开始新网络产品开发边缘的开发人员。
我们都是精益创业方法的拥护者,并希望实践持续部署。
困境来了——我们都来自 C#/Windows 背景,我们需要在以下两者之间做出决定:
坚持.NET和Windows,我们不会浪费时间学习新技术,全力以赴开发。
切换到 Ruby on Rails 和 Linux,后者在快速提升和广泛的开源支持方面享有盛誉。不利的一面是,我们需要在学习 Ruby、Rails 和 Linux 上付出很多努力……
你会怎么做?我们还应该考虑哪些其他因素?
tomcat - 配置 Hudson 以部署构建
我正在尝试配置 Hudson,以便能够自动将构建(.war 文件)部署到 Tomcat。然后有人将使用新部署的构建来测试应用程序。
我尝试使用 Deploy Plugin 自动部署 .war 文件,这很有效。但是,构建 .war 文件的作业将在每次 scm 更改后运行(无论何时提交代码)。使用 Deploy 插件,每次构建时都会将 .war 文件部署到 Tomcat。由于代码被频繁提交,这将意味着 Web 应用程序也将频繁重启,这将中断测试过程。
我很欣赏 Hudson 运行我的单元测试并定期进行构建的事实,所以我不想更改这项工作的触发器。
我正在寻找一种可以手动决定从 Hudson 内部部署的方法。我尝试创建一个单独的作业,该作业将从第一个作业部署 .war,但这不起作用。有没有人有任何设置这样的经验?