【问题标题】:Set variable on shub deploy project在 shub deploy 项目上设置变量
【发布时间】:2018-04-27 16:25:35
【问题描述】:

我正在尝试设置 scrapy 设置以在本地和 scrapinghub 上使用测试和生产环境。 我想知道是否有任何方法可以在 shub deploy 上设置这个变量(例如如下):

然后在 settings.py:

if env == "test":
     var1 = some_ip
     var2 = username
elif env == "prod":
     var1 = some_ip
     var2 = username

或者...也许有更清洁的方法?

感谢您的阅读!

PS:我想根据蜘蛛/项目所在的环境自动化设置,而不是手动更改变量。

编辑:找到更好的解决方案。检查the answer。

【问题讨论】:

  • scrapinghub 平台让您可以在其 UI 上设置项目设置
  • @eLRuLL 我想根据蜘蛛的执行位置动态选择设置。谢谢!

标签: python deployment scrapy environment scrapinghub


【解决方案1】:

如果您想使用环境变量来控制它,您可以执行以下操作:导出包含test 或prod 的环境变量DEPLOY_TARGET,然后执行以下命令进行部署

shub deploy $DEPLOY_TARGET

【讨论】:

  • 这帮助我思考环境变量,但并没有解决我的问题。还是谢谢你!
【解决方案2】:

最后,我按照以下步骤解决了我的问题:

所以现在我的设置如下所示:

  • 然后我的__init__.py 看起来像这样:

  • 接下来,修改_environment.py如下:

希望对我有所帮助!

PS:请记住,您需要在 scrapinghub 上有两个项目,一个用于生产,一个用于测试,您还需要从同一个项目中进行部署,如下所示:

然后你只需要 (reference):

  • shub deploy test 部署以进行测试。
  • shub deploy prod 部署到生产环境。
  • shub deploy 部署以进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多