2016-07-28 14 views
1

Einrichten eines neuen Build/Release-Prozesses, der Travis CI verwendet. Wenn ich versuche, die Freigabe nach den Tests zu erstellen, bekomme ich einen Absturz.Mix-Release stürzt ab mit Ausnahme

Befehl:

mix release --verbosity=verbose

Fehler:

===> Provider successfully run: resolve_release 
===> Running provider release 
** (exit) an exception was raised: 
    ** (MatchError) no match of right hand side value: {:error, :enoent} 
     src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2 
     (stdlib) lists.erl:1238: :lists.map/2 
     src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3 
    src/ec_plists.erl:900: :ec_plists.handle_error/3 
    src/ec_plists.erl:764: :ec_plists.local_runmany/3 
    src/rlx_prv_assembler.erl:161: :rlx_prv_assembler.copy_app_directories_to_output/3 
    src/rlx_prv_assembler.erl:59: :rlx_prv_assembler.do/1 
    src/relx.erl:308: :relx.run_provider/2 
    (stdlib) lists.erl:1262: :lists.foldl/3 
    src/relx.erl:291: :relx.run_providers_for_actions/2 
    lib/exrm/utils.ex:103: ReleaseManager.Utils.relx/5 
18:03:06.402 [error] Process #PID<0.13561.0> raised an exception 
** (MatchError) no match of right hand side value: {:error, :enoent} 
    src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2 
    (stdlib) lists.erl:1238: :lists.map/2 
    src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3 ===> Provider successfully run: resolve_release 
===> Running provider release 
** (exit) an exception was raised: 
    ** (MatchError) no match of right hand side value: {:error, :enoent} 
     src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2 
     (stdlib) lists.erl:1238: :lists.map/2 
     src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3 
    src/ec_plists.erl:900: :ec_plists.handle_error/3 
    src/ec_plists.erl:764: :ec_plists.local_runmany/3 
    src/rlx_prv_assembler.erl:161: :rlx_prv_assembler.copy_app_directories_to_output/3 
    src/rlx_prv_assembler.erl:59: :rlx_prv_assembler.do/1 
    src/relx.erl:308: :relx.run_provider/2 
    (stdlib) lists.erl:1262: :lists.foldl/3 
    src/relx.erl:291: :relx.run_providers_for_actions/2 
    lib/exrm/utils.ex:103: ReleaseManager.Utils.relx/5 
18:03:06.402 [error] Process #PID<0.13561.0> raised an exception 
** (MatchError) no match of right hand side value: {:error, :enoent} 
    src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2 
    (stdlib) lists.erl:1238: :lists.map/2 
    src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3 

Dies wird Elixir 1.2.2 und OTP 18.2.1 auf Ubuntu 12.02

läuft

Könnte dies mit der ein Problem sein, Installation von OTP?

EDIT

wurde aus der Anwendungsliste in mix.exs fehlt exrm. Hinzugefügt dort und jetzt ist dies der Fehler:

===> Provider successfully run: app_discover 
===> Running provider resolve_release 
===> Solving Release cymbal-0.0.1 
===> Provider (resolve_release) failed with: {error, 
               {rlx_prv_release, 
                {failed_solve, 
                {unreachable_package, 
                ssl_verify_fun}}}} 
==> ERROR: "Unable to find application ssl_verify_fun. See the debug output for more information." 
+0

Wenn ich diese Art von Problem hatte, wurde es mit der Version von Bibliotheken verwandt. Überprüfen Sie, ob die Deps-Versionen in Ihrer Maschine und in der CI-Maschine identisch sind. – Migore

+0

@migore wie überprüfe ich das? Die Datei mix.lock hat sich nicht geändert, also stelle ich mir vor, dass alles gleich bleiben sollte, egal wo es läuft. Es führt auch alle Tests durch, also würde ich mir vorstellen, dass es die richtigen Bibliotheken herunterzieht. – ascrookes

Antwort

0

Ich wurde in einer Veröffentlichung (rel) Verzeichnis das neue Release vor der Bereitstellung hinzufügen ziehen. Dieses Verzeichnis wurde nicht korrekt formatiert. Wenn exrm eine neue Version hinzufügte, konnte es nicht finden, wonach es gesucht und abgestürzt war. Wenn Sie dieses Problem haben, versuchen Sie, mit einem neuen rel Verzeichnis zu beginnen, um zu sehen, ob das das Problem behebt.