使用 Git 和 Heroku 进行正确的持续集成和持续部署

2023-12-25

我正在使用 heroku 和 git 开发一个 ruby​​ on Rails 网站。

我应该使用哪些工具和功能来建立以下简单的开发流程?

代码 > 签入 > 自动测试 > 自动部署

  • 我将代码签入我的存储库(首选选项,托管 git,如 github)
  • 测试自动运行并且网站部署在我的暂存 Heroku 应用程序中
  • 如果测试通过,该网站将自动部署在我的生产 Heroku 应用程序上
  • 如果测试失败,我希望以某种方式得到通知。

你会怎么做?


CircleCi https://circleci.com完全满足您的需求。我们将在每次推送时运行您的测试,如果通过则部署它们(到 Heroku 或使用 Capistrano/Fabric/任何其他东西),如果失败则向您发送通知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Git 和 Heroku 进行正确的持续集成和持续部署 的相关文章

  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何用form_for设置动作?

    我在现有控制器上创建了一个新页面 我在控制器上添加了 2 个操作方法 prompt user 和 process feedback 所以我通过以下方式进入该页面 redirect to controller gt users action
  • 合并两个github帐户

    假设我有两个 github 帐户xyz 邮件 ID email protected cdn cgi l email protection and abc email protected cdn cgi l email protection
  • 如何在提交后删除本地 git 历史记录?

    我想从 Dropbox 切换到开源 Sparkleshare 它使用 git 进行同步和版本控制 如果说我在文件夹中删除了一个 1GB 文件 它会保留在本地 git 文件夹的历史记录中 但我希望将这种大量数据放在服务器上而不是客户端上 如何
  • 如何在 test/fixtures/user.yml 中创建可用于 Devise 4 中集成测试的测试用户?

    从下面的代码中可以看到 我已经创建了一个用户users yml 包括设备的集成测试助手test helper rb 这就是为什么我能够使用sign in方法 基于设计的自述文件 https github com plataformatec
  • 如何在 *Windows* 中将 Mercurial 存储库转换为 Git? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上将 Mercurial hg 存储库转换为 Git 7 https stackoverflow com questions 3267232 converting a mercur
  • Django 1.6:如何在视图中访问静态文件

    我已经尝试过解决方案here https stackoverflow com questions 11721818 django get the static files url in view这对我不起作用 我正在为 Python 创建一
  • Git:切换工作区(计算机)而不提交

    有没有办法在不进行提交 签出的情况下应用差异补丁或类似补丁 我的情况 我工作时经常在计算机之间切换 我的提交历史有一堆 开关机 消息 我最初的猜测是这可能会导致其他麻烦 但我想我可能会问是否有适合这种情况的合适的解决方案或工作流程 编辑 澄
  • 关闭 Sublime Text 3.2 中的 git 集成

    如果我想关闭 Sublime text 左侧装订线中的 GIT 集成 又名史莱姆绿线 我只需将其切换为 false 26 show git status false 但是 当在首选项中进行设置时 我收到错误 尝试解析设置时出错 意外的字符
  • Rails/Passenger/Node.js:ExecJS“找不到 JavaScript 运行时”

    我正在尝试使用 Node js 作为我的 Rails 应用程序的 JavaScript 运行时 我在 Ubuntu 12 0 4 上使用 Phusion Passenger 模块和 Nginx 作为我的 Web 服务器 每次我访问 Rail
  • 如何在 Rails ActiveRecord 中的日期指定小于今天的条件

    我正在尝试找出如何提取我的集合中的所有记录的字段publish是真的并且expires比今天少 我有以下内容 但我认为小于部分不起作用 有人可以指出我正确的轨道吗 Announcement where publish true expire
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • 关于空 own_to 关联的最佳实践

    想象一下以下情况 我有一个dog模型和一个house模型 一只狗可以属于一个房子 一个房子可以有很多只狗 所以 Class Dog lt ActiveRecord Base belongs to house end Class House
  • git | git将旧提交移至另一个分支的过去

    我过去错误地进行了分支 并且在另一个分支的开头留下了一个提交 03431cb HEAD gt bar a2 d332e4d foo b2 9b29ae3 b1 4656a98 a1 6ebca20 master root 我怎样才能移动a1
  • 没有路线匹配... Rails Engine

    所以我不断收到错误 No route matches action gt create controller gt xaaron api keys 测试中抛出的是 it should not create an api key for th
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • git:键不包含节

    我使用的是 Git 版本 1 8 4 2 When I press tab to auto complete any command it prints the error below and it also completes the c
  • Rails 3.1 引擎迁移不起作用

    我正在创建一个带有迁移的 Rails 3 1 引擎 rake db migration 在该引擎和主机应用程序内运行良好 但我需要将此引擎包含到另一个 Rails 引擎中 第二个引擎包含用于测试的虚拟应用程序 我将这一行添加到该虚拟应用程序
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • git 可以知道你当前的分支是从哪个分支分支出来的吗?

    我想创建一个 git 别名 让我可以从其分支的原始分支同步我的分支 例如 如果我从

随机推荐

  • Rails 秘密令牌

    我很困惑 Secret token 在 Rails 中的用途 谁能解释一下它的用途是什么 是否可以将此令牌放入公共源存储库并在生产中使用它 或者我应该在部署应用程序之前更改它以防止某些类型的攻击 回答我自己的问题 Secret token
  • 使用给定的post()时`io.restassured.internal.support.PathSupport`内的空指针

    我正在使用restAssured和Junit构建集成测试 并在调用以下代码时 private void login cookie given baseUri localhost 9000 when formParam username my
  • 带标题的 php POST 变量

    这是代码 header Location checkout transactionCompleted php id transactionId 然后我用 GET id 来获取该值 到目前为止 一切都很好 Question 我怎样才能通过发布
  • apachecamel简单表达式不给出字符串值

    我正在使用阿帕奇骆驼 我正在尝试使用简单的表达语言从身体中检索价值 我需要它作为字符串 但简单返回 SimpleBuilder 对象 所以我尝试过这样的事情 simple body address line resultType Strin
  • Next.js:如何从 getStaticProps 中获取静态资源

    我正在使用 Netlify CMS 我想将轮播的所有幻灯片导入到我的组件中 我制作了一个名为 滑块 的集合 并添加了一些幻灯片 这创建了两个 Markdown 文件 每张幻灯片一个 public content slider 我想将它们全部
  • asp:QueryStringParameter 和空查询字符串参数

    I haveasp GridView使用显示客户端请求asp SqlDataSource 我想限制客户端显示的信息 View aspx必须显示一切 View aspx client 1必须仅显示来自客户端 ID 1 的请求 所以我正在使用
  • Angular2如何在使用ng-for时设置元素类名称,仅在第一个元素上

    我已经建立了一个ul并且只想将课程设置为第一个li元素 我想设置class active 只在第一里 我确实将索引放入类属性中 但这不是我想要的 import Component View NgFor Inject forwardRef I
  • knitr 中 R markdown 的全局注释选项

    要更改输出的前导字符 Rmd 中的knitr 块有一个注释选项 例如 r comment 1 100 有没有办法在全局范围内设置它 而不是为每个块单独设置 opts knit set comment 不起作用 我在文档中找不到它 Use o
  • 向 NSTabviewitem 添加关闭按钮

    我有一个带有选项卡视图的应用程序 当用户单击菜单 例如 客户端数据 时 我以编程方式生成一个选项卡 现在我想对选项卡视图进行子类化 为每个 NSTabviewitem 添加一个关闭按钮 如果您没有答案 您可以帮助提供文档或示例代码 我知道这
  • 调用默认 Phonegap 返回按钮处理程序

    我有一个phonegap应用程序 需要我捕获后退按钮 这工作顺利 但是当我在主屏幕上并按下后退按钮时 我想调用原始事件处理程序并让应用程序关闭或通过这样的按下自然地执行平台上的任何操作 我知道我可以告诉应用程序退出 但我知道这对于 iPho
  • 如何设置.data节的对齐方式?

    我在中定义了以下变量 dataNASM 部分 section data var1 DD 12345 int 4 bytes var2 DB A char 1 byte padding1 DB 123 1 byte padding paddi
  • CORS Java服务器端实现

    我需要实施CORS http www w3 org TR cors基于 Jersey 的 REST 服务器的支持 我已经浏览了一些可用的material http software dzhuvinov com cors filter htm
  • 如何声明一个哈希函数以在命名空间内的 unordered_set 中使用?

    我已经成功创建了一个哈希函数 并且 override 用于自定义类 这样我就可以在unordered set 但是 理想情况下 我想在要使用的类附近为我的类定义模板专业化 这可以通过以下方法来完成 效果很好 class MyClass pu
  • 我如何知道 SQL 全文索引填充何时完成?

    我们正在为针对测试 SQL Server 数据库运行的 ASP NET 应用程序编写单元测试 也就是说 ClassInitialize 方法创建一个包含测试数据的新数据库 ClassCleanup 删除该数据库 我们通过从代码运行 bat
  • 当角度材质选择打开时禁用滚动

    默认情况下 角度材质的 select dropwon 将允许页面滚动并相应地重新定位 在材料文档的原始页面上 选择下拉列表显示了不同的行为 它在打开时阻止滚动 https material angular io components sel
  • 如何使用 django 、 Location.objects.all() 获取第一个元素和最后一个元素

    这是我的代码 obj list Location objects all first element obj list 0 last element obj list 1 then return render to response tem
  • 如何使用 Python 在 Seaborn 中保存绘图 [重复]

    这个问题在这里已经有答案了 我有一个 Pandas 数据框并尝试将绘图保存在 png 文件中 然而 似乎有些事情并没有按预期进行 这是我的代码 import pandas import matplotlib pyplot as plt im
  • 我们可以调用 va_start() 两次而不调用 va_end() 吗?

    这是我的最小示例 include
  • Jenkins Pipeline 特定阶段的触发器

    我从一开始就在使用 Jenkins 但我想做点什么 但我找不到如何做 事实上 我想用两种不同的方式触发我的项目 每 4 小时和每次提交 但对于每种情况 我不希望执行所有 Jenkinsfile 只执行某些特定阶段 是否可以使用声明式管道来做
  • 使用 Git 和 Heroku 进行正确的持续集成和持续部署

    我正在使用 heroku 和 git 开发一个 ruby on Rails 网站 我应该使用哪些工具和功能来建立以下简单的开发流程 代码 gt 签入 gt 自动测试 gt 自动部署 我将代码签入我的存储库 首选选项 托管 git 如 git