在没有CLI或Web UI的情况下切换heroku维护模式

时间:2017-06-23 15:23:03

标签: heroku jenkins heroku-toolbelt

我使用Jenkins在使用git发布者插件部署到Heroku之前运行测试。我想将我的部署与维护模式打开/关闭,但不想在我的jenkins机器上安装heroku工具带(reference)(我也不想转到Web UI并切换维护模式手动)。我不想在jenkins上安装heroku工具带,因为它增加了我需要对jenkins安装进行的自定义和配置,我想让我的jenkins实例尽可能地保持不变...驱动而是通过源代码管道(Jenkinsfile)。

思路:

  • 使用安装了heroku工具带的docker镜像
  • 利用为我做的多构建包吗?

关于如何实现这一目标的任何建议或经验?

1 个答案:

答案 0 :(得分:1)

你可以使用heroku的平台api来做到这一点: https://devcenter.heroku.com/articles/platform-api-reference#app-update

以下curl请求会使您的应用进入维护模式:

curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME \
  -d '{"maintenance": true}' \
  -H "Content-Type: application/json" \
  -H "Accept: application/vnd.heroku+json; version=3"
  -H "Authorization: Bearer <heroku token>

您只需要替换应用名称以及令牌。 您可以在本地使用cli-oauth cli插件生成OAuth令牌。