gpt4 book ai didi

ruby-on-rails - 在 Heroku 部署后触发 Travis 运行

转载 作者:行者123 更新时间:2023-12-04 05:47:30 24 4
gpt4 key购买 nike

我有一堆关于 Travis 的集成测试,我需要运行 之后 我的 Ruby on Rails 应用程序已部署到 Heroku。我怎样才能做到这一点?

我尝试使用 HTTP-POST-Method 但是 Travis required custom headers and JSON bodyHeroku does not support both .还有其他方法吗?

最佳答案

我可以想到几个解决方案,但没有一个是完美的。

一:您可以创建简单的应用程序,将普通的 Heroku 部署 Hook 转换为 Travis 可接受的格式。当然,您需要将它托管在某个地方,但它是 Amazon Lambda 或类似解决方案的一个很好的用例。如果你曾经想尝试做无服务器,我认为你有一个完美的案例。托管成本几乎为零。

二:您可以在 Heroku 上使用发布阶段。创建脚本bin/notify-travis并将其发送到您的 Procfile release: bin/notify-travis .问题是如何获取有关已部署代码(如 commit sha)的所有信息。为此,您可以启用名为 dyno-metadata 的实验室功能。 .它将注入(inject)额外的配置变量,一个是HEROKU_SLUG_COMMIT其中包含提交 sha。如果需要更多数据,则此解决方案可能不起作用。确保 bin/notify-travis返回 0。它将在部署之前运行。如果失败,您的代码将不会被部署。

三:您可以找到或编写将发送 webhook 到 Travis 的自定义 buildpack。问题是它将在构建阶段运行。如果出现错误,您的代码可能不会被部署,但您将发送一个 webhook。而且,像在解决方案二中那样获取有关构建的所有必需信息也可能是有问题的。

所以你有一些选择。我想第一个是最好的,但它可能不符合您的其他要求。

关于ruby-on-rails - 在 Heroku 部署后触发 Travis 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42814981/

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