在 shub 部署项目上设置变量

Set variable on shub deploy project

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

然后在 settings.py:

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

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

感谢阅读!

PS:我想根据 spider/project 所在的环境自动设置,而不是手动更改变量。

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

如果您想使用环境变量来控制它,您可以执行以下操作:导出一个包含 testprod 的环境变量 DEPLOY_TARGET 并执行以下命令进行部署

shub deploy $DEPLOY_TARGET

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

  • 实施this example.

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

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

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

希望对您有所帮助!

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

然后您只需 (reference):

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