I’m running into a strange issue with an edeliver (1.8.0) / Distillery (2.1.1) / Phoenix (1.5.3) application where after running
mix edeliver build release mix edeliver deploy release to production mix edeliver restart production
… to my remote server, my app reverts to running and serving an older version of my app.
This most obviously manifests itself by serving old static assets. But also appears not just to be a static asset issue. Running code from the console also has old behavior.
Note that running
mix edeliver upgrade production does not exhibit the same behavior, and correctly upgrades to the new version.
I would love some help figuring out where to look next! Thanks y’all.
$ mix edeliver version production EDELIVER MY_APP WITH VERSION COMMAND -----> getting release versions from production servers production node: 0 user : my_remote_username host : my.server.ip.address path : /home/my_remote_username/app_release response: '1.0.3+882-20200819-020104-prod' [...this is the expected current version...] [...two other nodes report same version...] VERSION DONE! $ mix edeliver build release BUILDING RELEASE OF MY_APP APP ON BUILD HOST -----> Authorizing hosts [...] -----> Copying release 1.0.3+882-20200819-021103-prod to remote release store [... still 1.0.3 but new timestamp...] RELEASE BUILD OF [ MYAPP ] WAS SUCCESSFUL! $ mix edeliver deploy release to production DEPLOYING RELEASE OF MY_APP APP TO PRODUCTION HOSTS -----> Authorizing hosts [...] -----> Selecting release Found 32 different versions to deploy. Versions: [...old versions...] 1.0.0+862-20200818-040404-prod [... this version is noteworthy... spoiler alert...] [...more intermediary versions...] 1.0.3+882-20200819-021103-prod Enter Version: $ 1.0.3+882-20200819-021103-prod DEPLOYED RELEASE TO PRODUCTION! $ mix edeliver restart production EDELIVER [MY_APP] WITH RESTART COMMAND -----> restarting production servers [... all three nodes report restart...] RESTART DONE! $ mix edeliver version production EDELIVER MY_APP WITH VERSION COMMAND -----> getting release versions from production servers production node: 2 user : my_remote_username host : 18.104.22.168 path : /home/my_remote_username/app_release response: '1.0.3+882-20200819-021103-prod' [... two other nodes report same version...] VERSION DONE! $ ssh -t firstname.lastname@example.org " ~/app_release/my_app/bin/my_app remote_console" Erlang/OTP 23 [erts-11.0.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe] Interactive Elixir (1.10.3) - press Ctrl+C to exit (type h() ENTER for help) iex(email@example.com)1> Application.spec(:my_app, :vsn) '1.0.0+862-20200818-040404-prod' [... what? Why this old version?]