landric

landric

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    : 142.93.187.55
  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 my_remote_username@my.remote.ip.addres " ~/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(my_app@my.remote.ip.address)1> Application.spec(:my_app, :vsn)

'1.0.0+862-20200818-040404-prod'

[... what? Why this old version?]

Showing Posts 1 to 1

mcostasilva

mcostasilva

I’ve had that issue for a while now, var/start_erl.data (in deployment directory) has the wrong version for some reason which causes restarts and cold starts to use the wrong application version.
More informations here:
https://github.com/edeliver/edeliver/issues/314

Removing var/start_erl.data before restarting has been working for me, until it’s properly fixed in distillery.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
ryanwinchester
apply_graft/2 doesn’t rewrite an add_many sub-workflow’s deps on an add step. Grafted jobs cancel with “upstream job was deleted” Version...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews