I have a plan old Phoenix app with edeliver and distillery for deploy:
mix edeliver build release mix edeliver deploy production mix edeliver restart release
I hit certain urls that I know for a fact changed and I’m getting responses that correspond to a previous version.
Starting/stopping the release in the production server results in the same old code being run.
If I grep
ps auxf I see the bash command that was used to run my release I noticed that some old versions of the app are being added to the path that runs the whole thing. Somehow, the version that is actually running is
/home/deployer/myphoenixapp/releases/0.0.11+158-d902718/myphoenixapp.sh -- -root /usr/lib/erlang -progname home/deployer/myphoenixapp/releases/0.0.11+158-d902718/myphoenixapp.sh -- -home /home/deployer -- -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -config /home/deployer/myphoenixapp/var/sys.config -pa /home/deployer/myphoenixapp/lib/artificery-0.4.2/ebin /home/deployer/myphoenixapp/lib/certifi-2.5.1/ebin ... /home/deployer/myphoenixapp/lib/plug_crypto-1.0.0/ebin /home/deployer/myphoenixapp/lib/ranch-1.3.2/ebin /home/deployer/myphoenixapp/lib/myphoenixapp-0.0.10+154-b0debe3/ebin # <- ***************** /home/deployer/myphoenixapp/lib/myphoenixapp-0.0.10+155-5863311/ebin # <- old versions being added to the 'path' /home/deployer/myphoenixapp/lib/myphoenixapp-0.0.11+157-7cf022c/ebin # <- ****************** /home/deployer/myphoenixapp/lib/myphoenixapp-0.0.11+158-d902718/ebin /home/deployer/myphoenixapp/lib/ssl_verify_fun-1.1.4/ebin /home/deployer/myphoenixapp/lib/telemetry-0.4.0/ebin /home/deployer/myphoenixapp/lib/unicode_util_compat-0.4.1/ebin -pa /home/deployer/myphoenixapp/lib/myphoenixapp-0.0.11+158-d902718/consolidated -boot /home/deployer/myphoenixapp/releases/0.0.11+158-d902718/myphoenixapp -name email@example.com -setcookie _X!VsJlx4B -smp auto -mode embedded -user Elixir.IEx.CLI -extra --no-halt +iex -- --
If I delete all the
myphoenixapp-* from the
lib directory (except the latest) one, then the release works as expected.
Am I doing something wrong? Is it normal for those old version to remain there?
I’m running distillery 2.0 and edeliver 1.6.0.