gpt4 book ai didi

ruby-on-rails - 持续部署

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:31 25 4
gpt4 key购买 nike

我正在尝试为我的 Rails 项目设置持续部署。到目前为止,我已经完成了以下步骤:

  1. 我的应用程序在 Github 上。
  2. 我已经设置了 Travis CI。
  3. 我已经创建了暂存环境。 (www.staging.myappname.com)
  4. 我已经创建了生产环境。 (www.myappname.com)
  5. 我已经集成了 Travis CI 和 Github。

我正在努力实现的目标。

  1. 有人创建拉取请求。
  2. Travis CI 根据拉取请求运行构建。 (这部分完成)
  3. 一旦 Pull 请求被合并到 master 分支中,Travis CI 就会再次运行测试。 (这部分完成)
  4. 如果测试为绿色,则将主分支部署到暂存环境。 (我可以通过将 deploy 部分添加到 .travis.yml 文件来做到这一点。
  5. 针对暂存环境运行测试,如果测试通过,则将主分支部署到生产环境。 (我不知道如何实现这部分)

我不确定这样做是否正确。我阅读了几篇博客文章,我注意到人们为暂存和生产创建了不同的 git 分支。需要这种方法吗?

此外,我可以使用 Travis CI 轻松地将我的代码推送到暂存环境,但我不知道如何在暂存环境中再次运行测试并将代码推送到生产环境。我应该针对暂存环境运行哪种类型的测试?我应该只关注临时环境的 selenium 测试吗?

我可以使用像 codeship 这样的工具,但他们只提供每月 100 次构建的免费计划,而在 Travis 中,我可以免费获得无限制构建的计划。这是选择 Travis 而不是 codeship 的主要原因。

所以我的问题是:

  1. 我走对路了吗?
  2. 我应该针对登台服务器运行什么类型的测试?
  3. 如何使用 Travis CI 从暂存到生产进行部署?
  4. 我的 Rails 应用程序中是否需要 staging.rb 文件?如果是,那么它与 production.rb 文件有何不同?
  5. 我需要为暂存和生产创建不同的 git 分支吗?目前我只有 master 分支,我正在尝试将其部署到暂存和生产中。

最佳答案

通常人们有 2 个分支,一个用于暂存/开发,部署在登台服务器上,另一个用于生产,部署到生产分支

一旦您的暂存分支经过测试并准备好部署到生产环境中,您可以创建一个从暂存分支到主分支的拉取请求(或者只是在本地合并并推送它),然后 CI 服务器应该在主分支上检测到新版本然后将其部署到生产服务器。

关于ruby-on-rails - 持续部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34260721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com