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

 

Add Your Comment

Recent Entries

BoxLang 1.0.0 Beta 23 Launched

BoxLang 1.0.0 Beta 23 Launched

The latest release of BoxLang, Beta 23, marks a significant step forward in our journey to create the ultimate dynamic language for the JVM. Packed with powerful new features, important bug fixes, and thoughtful optimizations, this update is designed to make your development experience smoother, faster, and more reliable, especially after now starting to take 100s of comments and bug reports from our community.

Luis Majano
Luis Majano
November 23, 2024
TestBox Latest Updates and News!

TestBox Latest Updates and News!

We’re thrilled to have launched the new TestBox website and TestBox 6.0! If you haven’t had a chance to explore yet, visit TestBox to discover updated documentation, powerful resources, and features that make testing more efficient than ever.

Maria Jose Herrera
Maria Jose Herrera
November 21, 2024
Is Your ColdFusion Application Ready for the Future?

Is Your ColdFusion Application Ready for the Future?

In a rapidly evolving digital world, maintaining performance, security, and scalability for ColdFusion applications is more challenging than ever. Whether you're using Lucee or Adobe ColdFusion, legacy systems can become a bottleneck for growth, innovation, and user satisfaction. The need to future-proof your ColdFusion applications has never been more critical.

But where do you start?


The Hidden Costs of an Outdated ColdFusion Application

As you...

Cristobal Escobar
Cristobal Escobar
November 21, 2024