首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置炼铁工人的环境类型

设置炼铁工人的环境类型
EN

Stack Overflow用户
提问于 2014-12-19 14:48:55
回答 1查看 296关注 0票数 2

考虑使用IronWorker来运行一些公共服务,但是我想知道在工作人员本身中是否有一种方法可以知道它在什么环境下运行。例如,在我们的主要代码库中,我们将服务器var ENV设置为等于“开发”、“暂存”或“生产”之一。基于这个变量,我们的应用程序知道要加载哪个配置文件(通过dirs /development、config /暂存和config /产中的配置文件)。我想为一个工人做一些类似的设置。

我注意到,当我通过cli上传一个工作人员时,我可以这样做:

iron_worker上载工作者/示例/hello_world --env暂存

它允许我有一个iron.json配置文件,其中包含开发、暂存和生产键。例如,

代码语言:javascript
复制
{
  "production": {
    "token": "AAAAAAAAAAAAAAAAAAAAAAAAAAA",
    "project_id": "000000000000000000000001"
  },
  "staging": {
    "token": "BBBBBBBBBBBBBBBBBBBBBBBBBB",
    "project_id": "000000000000000000000002"
  },
  "development": {
    "token": "CCCCCCCCCCCCCCCCCCCCCCCCCC",
    "project_id": "000000000000000000000003"
  },
  "test": {
    "token": "DDDDDDDDDDDDDDDDDDDDDDDDDD",
    "project_id": "000000000000000000000004"
  }
}

但是,在worker本身中,我无法从cli访问env var,因此当工作人员需要加载某些配置var时,它不知道应该查看哪个dir。

在这里的文档中,http://dev.iron.io/worker/reference/dotworker/显示您可以在.worker文件中设置一个环境变量,但这意味着我需要为每个环境设置一个单独的工作文件,而且(可能吗?)根据我要部署到的环境交换它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-19 15:49:28

有一些棘手的方法:

1) iron.json。格式与所述格式相同,无更改。

2) .worker文件。通过环境,从本地系统到IronWorker环境。将这一行添加到.worker文件中:

代码语言:javascript
复制
set_env 'IRON_ENV', ENV['IRON_ENV']

3)上传代码命令。而不是

代码语言:javascript
复制
iron_worker upload workers/example/hello_world --env staging

使用不同的语法:

代码语言:javascript
复制
IRON_ENV=staging iron_worker upload workers/example/hello_world

4)检查工人方面的环境(当然,任何可供选择的语言):

代码语言:javascript
复制
puts ENV['IRON_ENV']
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27568398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档