Hi All,

A client of mine has a requirement that all code that I write must run on 
both Adobe CF and on OpenBD.  To facilitate this I'm setting up a Jenkins 
server on Windows to automatically deploy and run my tests on a push into 
Git.  Right now, when the build is executed I create a new folder:

D:\Builds\{buildnumber}

where buildnumber, shockingly, is the build number.  I then clone the app 
into this folder and make sure the correct branch and revision is checked 
out.  I also generate an Apache conf file: 

D:\Builds\{buildnumber}.conf.  This file is loaded by Apache with the 
include directive:

Include "D:\Builds\*.conf"

The contents of the conf files looks like this:

<VirtualHost *:80>
DocumentRoot "D:\Builds\40\ts\webapps"
ServerName 40.cfusion.ts.foo.com
JkMountFile 
"D:\ColdFusion10\config\wsconfig\1\uriworkermap_cfusion.properties"
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "D:\Builds\40\ts\webapps"
ServerName 40.openbd.ts.foo.com
#JkMountFile 
"D:\ColdFusion10\config\wsconfig\1\uriworkermap_openbd.properties"
</VirtualHost>

Please note that I have two hostnames:

40.cfusion.ts.foo.com and 40.openbd.ts.foo.com

These are pointed at the server via a wildcard DNS entry. I have the 
'cfusion' host names being served from Adobe ColdFusion right now just 
fine.  I used the wsconfig tool and then customized the mod_jk 
configuration to use the correct CF instance. 

OpenBD is installed under Tomcat 7 in d:\Tomcat7\webapps\ROOT (to make it 
the root application, obviously)
ColdFusion is in its' standard(ish) d:\ColdFusion10 folder.  

So, there are two separate Tomcat servers running on this server (three if 
you could Jenkins).  

*My Question:*  

Adobe CF "knows" to process any CFML files in the D:\Builds\40\ts\webapps 
folder, even though CF is running in Tomcat in a different location.  Is 
there any way to make OpenBD do the same thing?  I don't want to have to 
configure a new <Host /> element in the Server.xml file each time a build 
is run.  

*What I've done so far:*

Since I haven't toyed with mod_jk in the past I decided to try to use 
Adobe's wsconfig to establish an initial mod_jk connection between Apache 
and Adobe CF.  I then edited the connection properties, defined another 
worker for OpenBD and pointed it at the OpenBD server.  Here's what this 
file looks like now:

worker.list=cfusion,TestServer,openbd

worker.cfusion.type=ajp13
worker.cfusion.host=localhost
worker.cfusion.port=8012
worker.cfusion.max_reuse_connections=250

worker.TestServer.type=ajp13
worker.TestServer.host=localhost
worker.TestServer.port=8013
worker.TestServer.max_reuse_connections=250

worker.openbd.type=ajp13
worker.openbd.host=localhost
worker.openbd.port=8009
worker.openbd.max_reuse_connections=250

The uriworkermap_openbd.properties looks like this:

/*.cfml/* = openbd
/*.cfm = openbd
/*.cfm/* = openbd
/*.cfml = openbd
/*.cfc = openbd
/*.cfc/* = openbd
/*.cfr = openbd
/*.jsp = openbd

If I request 40.cfusion.ts.foo.com (the Adobe CF instance) it works just 
fine.  If I request 40.openbd.ts.foo.com (the OpenBD instance) it will 
serve non-CFML resources via Apache and it will serve CFML files that are 
directly under the app in OpenBD.  For 
example: /bluedragon/administrator/login.cfm.  However, if I request 
test.cfm which is under D:\Builds\40\ts\webapps, I get a 404 error from 
Tomcat. I assume this is because the .cfm file isn't under the OpenBD app 
in Tomcat.

Is there any way to resolve this issue?  Like I said above, I'd rather not 
have to edit the Tomcat configuration files and restart Tomcat every time 
we do a build.  I'd much rather just restart Apache and have it "magically" 
find my configuration files and use OpenBD for the correct vhosts.

Any thoughts?  

Thanks so much for your help,

Doug Hughes

-- 
-- 
online documentation: http://openbd.org/manual/
 http://groups.google.com/group/openbd?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Open 
BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to