【问题标题】:Git last commit hash and current versionGit 上次提交哈希和当前版本
【发布时间】:2017-06-21 04:37:10
【问题描述】:

在我的 Elixir/Phoenix 应用程序中,我想在 html 页面上显示来自 git 的当前提交哈希和来自 mix.exs 文件的版本号。我怎样才能做到这一点?也就是说,是否可以访问此类信息?

【问题讨论】:

  • 你尝试了什么?
  • @OnorioCatenacci,什么都没有
  • @OnorioCatenacci,什么都没有

标签: elixir phoenix-framework


【解决方案1】:

要提取当前的提交哈希,我有这个解决方案:

{hash, _} = System.cmd("git", ["rev-parse", "HEAD"])
# => {"5f6910ce1f42d5026d0ec5544ce6df9c3f8caf17\n", 0}

String.trim(hash)
# => "5f6910ce1f42d5026d0ec5544ce6df9c3f8caf17"

要获取应用版本,你可以试试这个:

{:ok, vsn} = :application.get_key(:my_app, :vsn)
# => {:ok, '0.1.1'}

vsn
# => '0.1.1'

List.to_string(vsn)
# => "0.1.1"

将 atom :my_app 替换为您的应用程序 atom。

或者你使用:

Mix.Project.config[:version]
# => "0.1.1"

更多信息请参见Mix.Project.config。

【讨论】:

  • ** (UndefinedFunctionError) function Mix.Project.config/0 is undefined (module Mix.Project is not available)
  • 并且它在 doc-ion 中还说“不要使用 Mix.Project.config/0 来查找运行时配置。仅使用它来配置项目的各个方面(如编译目录)而不是您的应用程序运行时。”
  • 好的,我明白了。我不明白,为什么文档说,我们不应该使用它。 MyApp.Mixfile.project()[:version] 也应该这样做。
猜你喜欢
  • 2013-04-28
  • 1970-01-01
  • 2021-01-01
  • 2014-10-29
  • 2010-10-31
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多