首页 文章

持续部署

提问于
浏览
2

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

  • 我的应用程序在Github上 .

  • 我已经设置了Travis CI .

  • 我创建了临时环境 . (www.staging.myappname.com)

  • 我创建了prod环境 . (www.myappname.com)

  • 我已经整合了Travis CI和Github .

我想要实现的目标 .

  • 有人创建拉取请求 .

  • Travis CI针对pull请求运行构建 . (这部分完成)

  • 一旦Pull请求合并到主分支中,Travis CI就会再次运行测试 . (这部分完成)

  • 如果test为绿色,则将master分支部署到staging环境 . (我可以通过将 deploy 部分添加到 .travis.yml 文件来完成此操作 .

  • 针对登台环境运行测试,如果测试通过,则将master分支部署到 生产环境 环境 . (我不知道如何实现这一部分)

我不确定这是否是正确的做法 . 我阅读了几篇博文,我注意到人们为分期和制作创建了不同的git分支 . 这种方法需要吗?

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

我可以使用像 codeship 这样的工具,但它们只提供100个建造/月的免费计划,而在特拉维斯,我可以获得无限制的免费计划 . 这是选择Travis而不是代码的主要原因 .

所以我的问题:

  • 我是在正确的轨道上吗?

  • 我应该对登台服务器运行什么类型的测试?

  • 如何使用Travis CI从登台部署到 生产环境 ?

  • 我的rails应用程序中是否需要 staging.rb 文件?如果是,那么它与 production.rb 文件有何不同?

  • 我是否需要为分段和制作创建不同的git分支?目前我只有主分支,我正在尝试部署到分期和 生产环境 .

1 回答

  • 3

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

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

相关问题