通过GitLab将Django应用程序部署到heroku

时间:2018-03-17 19:32:33

标签: python django heroku gitlab

我在Django上有一个Django存储库,并希望在Heroku上部署该应用程序。

我正在阅读GitLab https://docs.gitlab.com/ce/ci/examples/test-and-deploy-python-application-to-heroku.html#configure-project

的文档

要求创建两个变量

   HEROKU_STAGING_API_KEY
   HEROKU_PRODUCTION_API_KEY

它还说明了

You'll need to create two variables in Project > Variables:

Find your Heroku API key in Manage Account (https://dashboard.heroku.com/account)

指向heroku仪表板的链接只会使用可能被使用的API密钥但是对于哪个变量,我没有得到它。

还从哪里获得另一个变量值?

此外,没有像项目>这样的选项GitLab项目中的变量,那么我应该在哪里创建指定的变量?

1 个答案:

答案 0 :(得分:0)

两个变量HEROKU_STAGING_API_KEYHEROKU_PRODUCTION_API_KEY是Heroku API密钥的任意名称。它们旨在供您的GitLab CI管道使用,因此它们应存储在GitLab中。看到 GitLab Secret Variables了解放置位置的信息。

如您所说,Heroku API密钥位于Heroku Account页面。如果您计划使用相同的Heroku帐户进行登台和制作,则可以对HEROKU_STAGING_API_KEYHEROKU_PRODUCTION_API_KEY使用相同的API密钥。但是,在这种情况下,在GitLab中创建一个变量更有意义,比如说HEROKU_API_KEY,并在gitlab-ci.yml中使用它,如:--api-key=$HEROKU_API_KEY

GitLab文档中的示例只显示它们使用了两个不同的键,一个用于分段,另一个用于生产。换句话说,而不是..

dpl --provider=heroku --app=gitlab-ci-python-test-staging --api-key=$HEROKU_STAGING_API_KEY

dpl --provider=heroku --app=gitlab-ci-python-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY

您只需将dpl ... --api-key=$MY_HEROKU_API_KEY_NAME_HERE用于暂存和生产作业。如果您选择这条路线,请务必将--app=更改为每个作业的正确Heroku应用名称。