bockensm
02/03/2022, 10:26 PMbockensm
02/03/2022, 10:26 PM$ box server start directory=/builds/premier/core/ --verbose
√ | Starting Server
|------------------------------
| start server in - /app/
| server name - app
| server config file - /app//server.json
bockensm
02/03/2022, 10:26 PMbdw429s
02/03/2022, 10:35 PMbdw429s
02/03/2022, 10:35 PMconfig show server.singleServerMode
bdw429s
02/03/2022, 10:36 PMbockensm
02/03/2022, 10:40 PMbockensm
02/03/2022, 10:40 PMconfig set server.singleServerMode=false
in my CI tasks and see if that gets me what I needbockensm
02/03/2022, 10:41 PMortussolutions/commandbox:adobe2016-alpine
image in case that mattersbockensm
02/03/2022, 10:43 PMbockensm
02/03/2022, 10:44 PM$ box server list
Processing (1) servers, please wait...
app (stopped)
<http://0.0.0.0:8080>
CF Engine: adobe 2016.0.17+325979
Webroot: /app/
Last Started: 31-Jan-2022 21:25:19
bockensm
02/03/2022, 10:48 PMbdw429s
02/04/2022, 1:04 AMfoundeo/minibox
imagebdw429s
02/04/2022, 1:05 AMbdw429s
02/04/2022, 1:05 AMI'm using theRight, so stop using a prewarmed image as well. There's literally no reason to use it and it's just going to cause you problems.ortussolutions/commandbox:adobe2016-alpine
bdw429s
02/04/2022, 1:07 AM/app
and the existing server home "locked in" as part of the prewarm processbdw429s
02/04/2022, 1:07 AMbdw429s
02/04/2022, 1:10 AMfoundeo/cfml-ci-tools
image Pete has which is basically minibox plus a bunch of super useful stuff ready to go
• fixinator
• cfml-compiler
• commandbox-codechecker
• commandbox-cflint
• commandbox-cfformat
• commandbox-dotenv
• commandbox-cfconfig
• commandbox-docbox
• commandbox-semantic-release
It's basically everything you need to do your CI tasks but with zero of the opinionated assumptions baked into the Ortus imagesbockensm
02/04/2022, 1:41 AMbockensm
02/04/2022, 1:42 AMbox list
is the only script I'm running
$ box list
javax.script.ScriptException: lucee.runtime.exp.MissingIncludeException: Page /__commandbox_root/.CommandBox/cfml/system/Bootstrap.cfm [/builds/premier/core/root/.CommandBox/cfml/system/Bootstrap.cfm] not found
at lucee.runtime.PageSourceImpl.loadPage(Unknown Source)
at lucee.runtime.PageContextImpl._doInclude(Unknown Source)
at lucee.runtime.PageContextImpl._doInclude(Unknown Source)
at lucee.runtime.PageContextImpl.doInclude(Unknown Source)
at 1hakaskpj4qmq.call(Unknown Source)
at lucee.runtime.compiler.Renderer.tag(Unknown Source)
at lucee.runtime.compiler.Renderer.script(Unknown Source)
at lucee.runtime.jsr223.ScriptEngineImpl.eval(Unknown Source)
at lucee.runtime.jsr223.ScriptEngineImpl.eval(Unknown Source)
at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:330)
at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:582)
Caused by: lucee.runtime.exp.MissingIncludeException: Page /__commandbox_root/.CommandBox/cfml/system/Bootstrap.cfm [/builds/premier/core/root/.CommandBox/cfml/system/Bootstrap.cfm] not found
... 12 more
Cause:
lucee.runtime.exp.MissingIncludeException: Page /__commandbox_root/.CommandBox/cfml/system/Bootstrap.cfm [/builds/premier/core/root/.CommandBox/cfml/system/Bootstrap.cfm] not found
at lucee.runtime.PageSourceImpl.loadPage(Unknown Source)
at lucee.runtime.PageContextImpl._doInclude(Unknown Source)
at lucee.runtime.PageContextImpl._doInclude(Unknown Source)
at lucee.runtime.PageContextImpl.doInclude(Unknown Source)
at 1hakaskpj4qmq.call(Unknown Source)
at lucee.runtime.compiler.Renderer.tag(Unknown Source)
at lucee.runtime.compiler.Renderer.script(Unknown Source)
at lucee.runtime.jsr223.ScriptEngineImpl.eval(Unknown Source)
at lucee.runtime.jsr223.ScriptEngineImpl.eval(Unknown Source)
at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:330)
at cliloader.LoaderCLIMain.execute(LoaderCLIMain.java:155)
at cliloader.LoaderCLIMain.main(LoaderCLIMain.java:582)
bockensm
02/04/2022, 1:42 AM.gitlab-ci.yml
is as such:
stages:
- test
Testbox:
image: foundeo/cfml-ci-tools
stage: test
script:
- box list
bdw429s
02/04/2022, 1:42 AMbdw429s
02/04/2022, 1:43 AMbdw429s
02/04/2022, 1:43 AM/builds
at the root of the file system or is there a builds folder in the current working directory box is being run frombockensm
02/04/2022, 1:44 AMbdw429s
02/04/2022, 1:45 AMbox list
gets run from?bdw429s
02/04/2022, 1:45 AMusers
folder in their current working dir which confuses Lucee if CommandBox is under /users/foo/
bdw429s
02/04/2022, 1:45 AMbockensm
02/04/2022, 1:47 AM$ ls /builds
premier
$ pwd
/builds/premier/core
bockensm
02/04/2022, 1:47 AMbockensm
02/04/2022, 1:48 AMbdw429s
02/04/2022, 1:48 AMbdw429s
02/04/2022, 1:48 AMbockensm
02/04/2022, 1:49 AMbdw429s
02/04/2022, 1:49 AMbockensm
02/04/2022, 1:49 AMbockensm
02/04/2022, 1:49 AMbdw429s
02/04/2022, 1:49 AMbockensm
02/04/2022, 1:49 AMbdw429s
02/04/2022, 1:50 AMbockensm
02/04/2022, 1:50 AMbockensm
02/04/2022, 1:52 AMbockensm
02/04/2022, 1:52 AMbdw429s
02/04/2022, 1:53 AMbdw429s
02/04/2022, 1:53 AMbdw429s
02/04/2022, 1:53 AMbdw429s
02/04/2022, 1:54 AMbdw429s
02/04/2022, 1:54 AMbdw429s
02/04/2022, 1:55 AMbdw429s
02/04/2022, 1:56 AMbdw429s
02/04/2022, 2:12 AM/builds/premier/core/root/.CommandBox/cfml/system/Bootstrap.cfm
doesn't exist. The correct path should have been
/root/.CommandBox/cfml/system/Bootstrap.cfm
but your working directory of the process running box was likely
/builds/premier/core/
which becomes Lucee's "webroot" and default /
mapping. I assume that directory has a folder in it called root
so when Lucee looks at the relative path /root/...
it "finds" the root folder it believes to be in its "webroot" (the working dir of the java process) and uses it instead of the actual /root
folder at the base of your file systembdw429s
02/04/2022, 2:14 AM/
mapping have ended in flames (and unfixed JIRA tickets).bdw429s
02/04/2022, 2:15 AM/
mapping, but Lucee's JSR-223 implementation forces it to the the working dir of the java process.bockensm
02/04/2022, 2:24 AMbdw429s
02/04/2022, 2:41 AMfinal File root = new File("."); // working directory that the java command was called from
final ServletContextImpl servletContext = new ServletContextImpl(root, attributes, initParams, 1, 0);
I'll see if I can get that to read from a system property by default. If so, it would be fantastic to be able to force the context root (web root, basically) to the drive rootbdw429s
02/04/2022, 2:42 AMbockensm
02/04/2022, 2:46 AM