如何为我的应用程序传递启动参数?

huangapple go评论123阅读模式
英文:

How to pass startup args for my app?

问题

你好!要在Heroku上传递启动参数以便告诉应用程序加载DEV或PROD设置,你可以按照以下步骤进行操作:

  1. 在你的应用程序中创建一个配置文件,用于存储不同环境的设置。例如,你可以创建一个名为config.py的文件。

  2. 在config.py文件中,定义DEV和PROD环境的设置。你可以使用不同的变量来存储不同的设置,例如数据库连接字符串、API密钥等。

  3. 在Heroku上的应用程序设置中,找到"Config Vars"(配置变量)部分。在这里,你可以添加自定义的环境变量。

  4. 添加一个名为"ENV"的环境变量,并将其值设置为"DEV"或"PROD",以指定应用程序应该加载哪个环境的设置。

  5. 在你的应用程序代码中,使用环境变量来确定要加载的设置。你可以使用os.environ.get("ENV")来获取"ENV"环境变量的值,并根据该值加载相应的设置。

通过这种方式,你可以在Heroku上传递启动参数,并告诉应用程序加载不同的设置。希望对你有所帮助!如果你有任何其他问题,请随时提问。

英文:

I want to pass startup arguments in my app so I can tell the application to load in either DEV or PROD settings.

How can I do this on heroku?

答案1

得分: 1

首先在Heroku中声明环境变量,例如:
heroku config:set APPMODE=PROD
然后在你的应用程序中,导入os包并调用Getenv函数。示例代码如下:

package main

import 'os'

var appmode string
func init () {
   appmode = os.Getenv("APPMODE") // PROD
}

另一种选项是使用flag包。示例代码如下:

// flagsoverflow
package main

import "flag"

var AppMode string 

func init () {
   AppMode = flag.String("appmode", "DEV", "help message for flagname") // 默认值为DEV
}

然后在构建应用程序时,可以使用标志选项运行:

./flagsoverflow -appmode=PROD // 将值设置为PROD

参考链接:https://devcenter.heroku.com/articles/config-vars

os包:https://golang.org/pkg/os/#Getenv

flag包:https://golang.org/pkg/flag/

英文:

First declare ENV variables in Heroku, ie:
heroku config:set APPMODE=PROD
then in you app, import the os package and call Getenv.
Example:

package main

import 'os'

var appmode string
func init () {
   appmode = os.Getenv("APPMODE") // PROD
}

Other option, using the flag package.
Example:

// flagsoverflow
package main

import "flag"

var AppMode string 

func init () {
   AppMode = flag.String("appmode", "DEV", "help message for flagname") // Defaul Value DEV
}

Then when u build u application u can run with flag options:

./flagsoverflow -appmode=PROD // Set the Value to PROD

Refs: https://devcenter.heroku.com/articles/config-vars

os: https://golang.org/pkg/os/#Getenv

Flags: https://golang.org/pkg/flag/

huangapple
  • 本文由 发表于 2016年4月26日 02:31:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/36848414.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定