加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – SBT:如何访问环境变量或配置?

发布时间:2020-12-16 09:15:55 所属栏目:安全 来源:网络整理
导读:我发布到内部的Nexus信息库.我们有两个回报,“开发”和“生产”.开发人员使用dev repo,构建团队使用他们从安全区域中的机器访问的生产回购.我想添加一个使用默认值“dev”定义STAGE的环境变量或SBT配置.在生产车间STAGE将被覆盖到“生产”.我该怎么做?我可
我发布到内部的Nexus信息库.我们有两个回报,“开发”和“生产”.开发人员使用dev repo,构建团队使用他们从安全区域中的机器访问的生产回购.我想添加一个使用默认值“dev”定义STAGE的环境变量或SBT配置.在生产车间STAGE将被覆盖到“生产”.我该怎么做?我可以在build.sbt文件中定义stage,并在publishTo任务中使用它,我无法弄清楚如何从环境中获取值.这是我有的

val stage = settingKey[String]("stage") 

stage := "dev"

publishTo <<= (version,stage) { (v: String,s: String) =>
  val nexus = "http://my-internal-nexus:8081/nexus/content/repositories/"
  if (v.trim.endsWith("SNAPSHOT"))
    Some("snapshots" at nexus + s + "-snapshots-m2")
  else
    Some("releases"  at nexus + s + "-releases-m2")
}

解决方法

您可以在系统属性中传递舞台,并将其读入设置:

stage := sys.props.getOrElse("stage",default = "dev")

使用sbt -Dstage = production在构建环境中传递.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读