Installing specific versions of extensions in Lucee 5.2.x


#21

FWIW, when using the CommandBox Lucee images, here’s the approach we take to bypass using the environment variables, but still install the extensions we need:

https://www.forgebox.io/view/docker-lex-install


#22

Awesome project @mjclemente!


#23

by setting “lucee.extensions.install” to false, the extension defined in the manifest not get installed, that way only extension defined with env variable get installed


#24

Such a nicer solution


#25

Circling back to your initial post here; just out of curiosity, does the 3.0.2.29 version of the Memcached plugin cause an issue for you?

Or was that example purely for the sake of example?

Thanks!


#26

My original post? No, no issues at all with specific versions of the extension. I was just after some confirmation on those 3 points;

  1. Can we pin the version number of an extension at install time (answer is yes)
  2. Why do automatic upgrades of plugins happen (answer, because they are available and the version is not pinned)
  3. Can we turn off automatic upgrades of extensions (answer seems to be yes if you set “lucee.extensions.install” to false though I haven’t tested this, OR you pin the version in the LUCEE_EXTENSIONS env var, OR you have the versions specified in the lucee XML files).

The reason behind all of that is that I need the extension installation to happen at build time in Docker images, so that I can have repeatable builds that always produce the same result, rather than having unexpected things like extension installation/upgrades happen during container startup. So for the past 15+ months we’ve been in a pretty good place I think :smiley:


#27

“lucee.extensions.install” is a nice trick… but it’s not documented here:

Is it an official feature?