【问题标题】:Getting task release could not be found for edeliver无法为 edeliver 找到获取任务发布
【发布时间】:2018-09-05 13:49:26
【问题描述】:

我有一个包含 3 个总括项目的长生不老药应用程序。我正在尝试通过 distellary 和 edeliver 自动化他们的发布。

我可以通过运行这个命令来创建一个版本:

混合发布 --verbose --env="production" --name="se_example"

但是,当我运行以下命令时: mix edeliver build release production --verbose

它编译了应用程序,但后来在创建发布时抛出了这个错误:

-----> 使用 mix 生成 release 生成 release

**(混合)找不到任务“发布”

我不熟悉长生不老药和酿酒厂/ edeliver 世界,所以想知道我是否在这个流程中遗漏了什么。

以下是我的 .deliver/config 文件:

PRODUCTION_HOSTS="elixir-build"
PRODUCTION_USER="meraj"
DELIVER_TO="/home/meraj/se_example_build"

# For *Phoenix* projects, symlink prod.secret.exs to our tmp source
pre_erlang_get_and_update_deps() {
  local _prod_secret_path="/home/meraj/se_example_build/prod.secret.exs"
  if [ "$TARGET_MIX_ENV" = "prod" ]; then
    __sync_remote "
      ln -sfn '$_prod_secret_path' '$BUILD_AT/config/prod.secret.exs'
      ln -sfn '$_prod_secret_path' '$BUILD_AT/apps/se/config/prod.secret.exs'
    "
  fi
}

这里是 rel/config.exs 文件:

Path.join(["rel", "plugins", "*.exs"])
|> Path.wildcard()
|> Enum.map(&Code.eval_file(&1))

use Mix.Releases.Config,
    default_release: :default,
    default_environment: Mix.env()

environment :dev do
  set dev_mode: true
  set include_erts: false
  set cookie: :"P@/3]_>gLBMM9c@&aRUg>lkN)<q6Z$0`ZM_/./!8N_/*1Fx:toH9n~I5_=O&=>$:"
end

environment :prod do
  set include_erts: true
  set include_src: false
  set cookie: :"BD:?3o^s?_Yn4SV%s.;@A>Sva*A}s5NbEC[&.qBMhA.*6^?ElspFmoF%GKX]:[En"
end

release :se_example do
  set version: "0.1.0"
  set applications: [
    :runtime_tools,
    se: :permanent,
    se_stats: :permanent,
    se_web: :permanent
  ]
end

【问题讨论】:

  • 听起来您没有安装酿酒厂。您能否显示您的 mix.exs 文件中列出的依赖项?
  • 以下是我的 mix.exs:defmodule Se.Example.Mixfile do use Mix.Project def project do [ apps_path: "apps", start_permanent: Mix.env == :prod, deps: deps() ] end defp deps do [ {:distillery, "~&gt; 1.5.2"}, {:edeliver, "~&gt; 1.4.6"} ] end end
  • 在添加 distillery 作为依赖项之后,你真的运行了mix deps.get 吗?
  • 是的。我跑了。为了确保,我重新运行它并再次尝试,但结果相同。
  • @MerajRasool 你找到解决方案了吗?

标签: elixir release distillery edeliver


【解决方案1】:

我遇到了同样的错误并找到了解决方案(至少在我的情况下),在这里的另一个相关主题中回答了 - https://stackoverflow.com/a/53950284/6371774

TLDR:明确指出您的分支并确保该文件夹 /rel/ 在 git 下并已提交:

$ mix edeliver build release --branch=feature/deploy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2018-01-30
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2017-07-02
    相关资源
    最近更新 更多