我使用Jenkins在使用git发布者插件部署到Heroku之前运行测试。我想将我的部署与维护模式打开/关闭,但不想在我的jenkins机器上安装heroku工具带(reference)(我也不想转到Web UI并切换维护模式手动)。我不想在jenkins上安装heroku工具带,因为它增加了我需要对jenkins安装进行的自定义和配置,我想让我的jenkins实例尽可能地保持不变...驱动而是通过源代码管道(Jenkinsfile)。
思路:
关于如何实现这一目标的任何建议或经验?
答案 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令牌。