2016-07-28 3 views
1

Настройка нового процесса сборки/выпуска, который использует Travis CI. Когда я пытаюсь создать выпуск после прохождения тестов, я получаю сбой.сбой на выпуск релиза

Команда:

mix release --verbosity=verbose

Ошибка:

===> 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 

Это работает Эликсир 1.2.2 и OTP 18.2.1 на Ubuntu 12.02

Может ли это быть проблема с установить OTP?

EDIT

пропускал EXRM из списка приложений в mix.exs. Добавлено его там, и теперь это ошибка:

===> 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

Когда у меня возникла такая проблема, она была связана с версией библиотек. Проверьте, совпадают ли версии отпечатков на вашем компьютере и на машине CI. – Migore

+0

@migore, как я могу проверить это? Файл mix.lock не изменился, поэтому я предполагаю, что все должно оставаться неизменным независимо от того, где он работает. Он также проходит все тесты, поэтому я бы предположил, что он сбрасывает нужные библиотеки. – ascrookes

ответ

0

я тянул в выпуске (rel) каталог, чтобы добавить новый релиз перед развертыванием. Этот каталог не был отформатирован правильно, поэтому, когда exrm пошел добавить новую версию, он не смог найти то, что искал и разбился. Если у вас возникла эта проблема, попробуйте начать с нового файла rel, чтобы узнать, устраняет ли это проблему.

Смежные вопросы