带有环境变量的部署到Heroku按钮

5
我想在 GitHub 托管的应用程序中添加“Deploy to Heroku”按钮,但唯一的问题是它需要环境变量才能运行,并且需要用户在运行之前输入这些变量。在app.json模式中,是否有一种方法可以提示用户在安装之前设置这些变量?或者我最好将它们设置为标准字符串,例如“replace_me”,并告诉用户从自述文件中输入他们的数据。我看到他们的文档中可以生成一个“secret”,但不确定这是否是我要找的东西。
1个回答

7
你可能已经注意到了,但是看起来你在 app.json 模式中定义了环境变量。(这里有更详细的描述:https://blog.heroku.com/introducing_the_app_json_application_manifest
他们提供的示例模式:
{
  "name": "Ruby on Rails",
  "description": "A template for getting started with the popular Ruby framework.",
  "website": "http://rubyonrails.org",
  "success_url": "/welcome",
  "addons": ["heroku-postgresql:hobby-dev", "papertrail"],
  "env": {
    "RAILS_ENV": "production",
    "COOKIE_SECRET": {
            "description": "This gets generated",
            "generator": "secret"
    },
    "SETUP_BY": {
            "description": "Who initiated this setup",
            "value": ""
    }
  },
  "scripts": {
    "postdeploy": "bundle exec rake db:migrate"
  }
}

然后,当您访问此部署URL时,您需要在URL中传递到Github存储库的路径,其中包含app.json文件,以及任何硬编码的ENV变量:

https://heroku.com/deploy?template=https://github.com/rauchg/slackin/tree/0.5.1& env[SLACK_SUBDOMAIN]=testdomain

当您访问该网址时,它会自动生成一个表单提示您输入其余的环境变量值。
这是一个应用程序配置生成的示例表单,您可以在这里查看: enter image description here 当应用程序部署后,它会将用户输入的值存储在正确的环境变量中。

1
这太不可思议了。我刚刚谷歌搜索了“带参数的Heroku按钮”,看到了你一个小时前的回答。无论如何,看起来这正是我需要的,因为我无法使用平台API / app.json部署我的应用程序,因为我的Github存储库/ tarball是私有的。谢谢! - Stéphane Bruckert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接