Blog

Brad Wood

March 11, 2020

Spread the word


Share your thoughts

We've been publishing all stable Lucee builds and select release candidate builds to ForgeBox for some time now.  This allows you to use CommandBox CLI to start up a Lucee server running the version of your choice.

server start cfengine=lucee@5.3.4+77

Publishing these CF engines has been a manual process in the past, and was something we'd do after Lucee issued a release announcement.  This has changed last week now with three major additions to our process aimed at giving you faster builds, easier testing, and more deployment options.

Snapshots (and more) now on ForgeBox

Instead of only publishing stable Lucee releases, every single Lucee build is now getting pushed to ForgeBox as a new version.  This includes

  • Stable releases
  • Snapshot builds
  • Release candidates
  • alphas, betas-- whatever they put out!

There's actually quite a lot of snapshot builds.  Basically every commit to Lucee bumps the build number so there are usually a few snapshot builds every week, and typically 75-100 snapshot builds between every stable release.  Publishing every single version of Lucee that comes out allows you to have total control over what versions you test and deploy now without needing to wait.  We publish the build binaries in S3 so downloads are as fast as possible too.  

server start cfengine=lucee@5.3.4-SNAPSHOT+84

Also remember that unless you explicitly ask for a prerelease version, you will always only get stable versions of Lucee when starting a server.

// This will give you the latest stable version
server start cfengine=lucee

// This will give you the latest stable version starting with 5.2
server start cfengine=lucee@5.2

Remember to use Semantic Versions

One minor difference to keep in mind is Lucee server uses a typical versioning scheme for java projects which looks like this:

<major>.<minor>.<patch>.<build>[-<preReleaseID>]

// Ex of an unstable build
5.3.4.84-SNAPSHOT

// Or a stable build
5.3.4.80

However, CommandBox and ForgeBox use the npm-flavored semantic versioning (semver) which is slightly different.  Basically the build ID is moved to the end after a plus (+) sign.

<major>.<minor>.<patch>[-<preReleaseID>]+<build>

// Ex of an unstable build
5.3.4-SNAPSHOT+84

// Or a stable build
5.3.4+80

The important thing to remember is, when starting a server via CommandBox always use the second format shown above since that is how ForgeBox recognizes each release. 

What versions exist?

Questions about what versions are available?  No problem!  Here are some ways you can find out:

  • Visit the ForgeBox listing for the Lucee package and view all the versions in the versions tab 
    https://www.forgebox.io/view/lucee#versions
  • View the last few versions via the CLI with the command
    forgebox show lucee
  • Start typing your cfengine and hit the <tab> key to invoke the tab-completion feature.  This actually phones out to ForgeBox as you hit tab to get the current valid list of versions that match what you've typed so far

Please note we've backfilled ForgeBox to contain every single snapshot build back through 5.2.9.  If you need snapshot builds from prior to that time, please let us know.

You can also follow the Lucee bleeding edge, which means every time you start your CommandBox server you'll get the very latest Lucee snapshot release.  Please only use this for local development and not production!

server start cfengine=lucee@be

Lucee Light builds on ForgeBox

Lucee has a modular core and comes bundled with a bunch of extensions that approximate the functionality that comes bundled with Adobe ColdFusion.  But that means you are loading the Hibernate libraries, PDF libraries or JDBC drivers even if you don't need them. There is a second type of Lucee server called "Lucee Light" which contains all the core engine, but with zero extensions.  People creating custom docker builds for example will start with Lucee Light and then add back only the extensions their app needs.  To get a feel for all the Lucee extensions available, see this page that lists all official extensions.

We're now publishing CF Engines to ForgeBox based on the Lucee Light builds which allows you to start up a Lucee Light server. These are under a ForgeBox package named "lucee-light" and we've also backfilled all the same versions that exist for the normal "lucee" engine.  Note, the three bullets points above apply to Lucee Light as well,  Just replace "lucee" with "lucee-light" and you're good to go.

// Latest stable
server start cfengine=lucee-light

// Specific version
server start cfengine=lucee-light@5.3.4.77

// Bleeding edge
server start cfengine=lucee-light@be

If you have questions about how to install extensions into a Lucee light server, please hit us up on Slack and we can show you several ways to manage that.

It's Automated, baby!

Perhaps the coolest part of all of this is that we've automated the entire process!  That's right, no manual intervention is required to put new Lucee versions on ForgeBox.  This means new Lucee and Lucee Light engines will appear daily on Forgebox, probably before you even see the release announcements from the Lucee dev forum.

If you're the curious type, you can see all the code we use to import these versions.  It is implemented as a CommandBox Task Runner (of course!) and the code lives here:

https://github.com/Ortus-Solutions/forgebox-cfengine-publisher/blob/master/task.cfc

The task is run as part of a daily Travis-CI build whose output from each run is visible here:

https://travis-ci.org/github/Ortus-Solutions/forgebox-cfengine-publisher/builds

 

Recent Entries

Hackers demand a ransom to restore data from my ColdFusion web applications!

Hackers demand a ransom to restore data from my ColdFusion web applications!

Hackers demand a ransom to restore data from my ColdFusion web applications!

Unfortunately, we often hear this message from clients who thought it would never happen to them... until it did. Some believed they could delay the expense of Implementing ColdFusion security best practices for one year, while others were tempted to put it off for just a few months. However, in today's rapidly evolving digital landscape, the security of web applications, including ColdFusio...

Cristobal Escobar
Cristobal Escobar
April 16, 2024
Ortus March Newsletter

Ortus March Newsletter

Welcome to Ortus Solutions’ monthly roundup, where we're thrilled to showcase cutting-edge advancements, product updates, and exciting events! Join us as we delve into the latest innovations shaping the future of technology.

Maria Jose Herrera
Maria Jose Herrera
April 01, 2024
Into the Box 2024 Last Early Bird Days!

Into the Box 2024 Last Early Bird Days!

Time is ticking, with less than 60 days remaining until the excitement of Into the Box 2024 unfolds! Don't let this golden opportunity slip away; our exclusive Early Bird Pricing is here for a limited time only, available until March 31st. Why wait? Secure your seat now and take advantage of this steal!

Maria Jose Herrera
Maria Jose Herrera
March 20, 2024