be able to use tomcat7 for the install
Does your app actually require Tomcat? That seems unlikely unless you’re tying into some very specific Tomcat features, settings, or servlet filters, etc. Tomcat is just one of many servlet containers, but 99% of CF apps don’t really know or care what servlet container they’ve been deployed on. CommandBox uses JBoss Undertow (part of their Wildfly server) which is smaller and faster than Tomcat and should be an invisible replacement. This is just local development we’re talking about here. You can still use whatever you want for production, but if you’re just spinning up a server to test, I wouldn’t worry about that level of details.
be able to “deploy” the app through a custom deployment system written in perl
Sounds horrible
I would suggest you point your dev ops people at the Ortus Docker Images. They are powered by CommandBox are are much much more inline with industry standards when it comes to deployments. But regardless of how you deploy your code to stage/prod/etc it shouldn’t preclude the possibility of spinning up a Lucee 5 server however you see fit on your local machine for testing. The CFML code, after all, most likely doesn’t really know or care what it’s running on.
know that while I can use commandbox to create an app skeleton - don’t really understand how or if I could use it to “deploy” our legacy app.
The CommandBox scaffolding commands are nothing more than a giant glorified “Right Click > New > Text Document”. They just dump files and folders into a directory for you to make your life easy. You deploy these files and folders to another server however you see fit. Note the CLI scaffolding commands are a separate beast from running a server with CommandBox. You can use CommandBox to scaffold out files and apps and not use CommandBox to start your server or vice versa. Many people use CommandBox for easy development and then fall back on all sorts of custom legacy deployment methods for their actual production servers.
Part of this excercise is a proof of concept to see if the codebase can be modified to run on Lucee and a newer version of Coldbox.
I refuse to believe its not possible - even though some CF-haters at my work say its not.
As someone who’s converted quite a number of sites from Adobe CF to Lucee as well as performed a great number of ColdBox upgrades, I don’t see why it wouldn’t be possible. Depending on the size of the app, there might be some work involved just to update everything, but it’s all just code at the end of the day
You might want to tackle one of those items at a time. For instance, get the current app running on Lucee 5. Usually, the older the app, the less work it will take since the core CFML tags are pretty compatible. Then once you’ve done that review the upgrade guides for ColdBox and start on that.
https://coldbox.ortusbooks.com/intro/introduction
The core ColdBox conventions have changed very little but other stuff like wirebox, cachebox, logbox, etc have changed a fair amount. Depending on your application, you may not be using any of that anyway which may make your job easier.
If you need help in this venture, Ortus always has paid support services and we specialize in helping people upgrade stuff 