You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by nyronian <ji...@yahoo.com> on 2007/10/02 22:51:10 UTC

deploy outside of appBase w/Manager

To put it simply, I would like to use the manager to deploy an app just like
auto-deployment works but I need to change the context (path) without
changing the name of the war.

I am trying to implement the following deployment requirment:

1. Change the context (path) of the war I am deploying, different from the
name of the war.  Note:  I know this is not best practice and against
tomcats model but I cannot change the name of the war, as much as I would
love to.

2. Deploy the war outside of the appBase directory via the tomcat manager.
Note: this has to be done in order to change the context.  The context
cannot be changed if it resides in the appBase directory

3. When deploying the war, have it:
      a. load the war from disk (or from an URL)
      b. un-deploy itself if needed (delete the directory off disk)
      c. unPack itself to disk in the location specified (as specified by
the docBase parm)
      d. deploy itself under the given context (path)



Note:  I have done a ton of research and can't seem to find this exact
scenario.  I can manually do this by simply laying out the war on disk and
loading the context.xml file and point to the directory, but I can't seem to
auto-deploy with this scenario with the manager tool.

Thanks.
-- 
View this message in context: http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13007722
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: deploy outside of appBase w/Manager

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: nyronian [mailto:jim85133@yahoo.com] 
> Subject: RE: deploy outside of appBase w/Manager
> 
> I wanted to do my due diligence before coming up with 
> my own deployment solution (like the scripting solution
> you recommended).

You could probably use the manager as is to do the reload part; it's
just the copy that needs something special.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: deploy outside of appBase w/Manager

Posted by nyronian <ji...@yahoo.com>.
Thanks...you have confirmed my suspicions....can't do it through the manager.  

I wanted to do my due diligence before coming up with my own deployment
solution (like the scripting solution you recommended).  I wanted to make
sure I wasn't missing something.

Thanks.



Caldarale, Charles R wrote:
> 
>> From: nyronian [mailto:jim85133@yahoo.com] 
>> Subject: Re: deploy outside of appBase w/Manager
>> 
>> First, the context.xml is simple:
>> <Context path="/site" docBase="/usr/apps/app1" reloadable="false"
>> privileged="false" />
> 
> As you have discovered, and we have discussed _many_ times on this
> mailing list, the path and docBase attributes are not allowed when the
> <Context> element is in META-INF/context.xml.  If you're lucky, they'll
> be ignored, but they can easily cause problems.
> 
>> <Host name="localhost" appBase="webapps" unpackWARs="false"
>> autoDeploy="false" deployOnStartup="true" xmlValidation="false"
>> xmlNamespaceAware="false">
> 
> You want autoDeploy set to "true" to get Tomcat to recognize on-the-fly
> updates.
> 
> Forget about using the manager app for deployment - it uses the defaults
> built into Tomcat, and you're not going to be able to subvert them.  I
> think the only way you're going to be able to accomplish what you want
> is to keep your webapp outside of the appBase directory, put your
> <Context> element in conf/Catalina/[host]/site.xml, and have its docBase
> attribute point to the location of your webapp.  (This is the only
> instance in which a docBase attribute has purpose.)  Write a script that
> copies the updated webapp (.war or directory) to its production location
> and then reloads the application.
> 
>  - Chuck
> 
> 
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you
> received this in error, please contact the sender and delete the e-mail
> and its attachments from all computers.
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13009582
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: deploy outside of appBase w/Manager

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: nyronian [mailto:jim85133@yahoo.com] 
> Subject: Re: deploy outside of appBase w/Manager
> 
> First, the context.xml is simple:
> <Context path="/site" docBase="/usr/apps/app1" reloadable="false"
> privileged="false" />

As you have discovered, and we have discussed _many_ times on this
mailing list, the path and docBase attributes are not allowed when the
<Context> element is in META-INF/context.xml.  If you're lucky, they'll
be ignored, but they can easily cause problems.

> <Host name="localhost" appBase="webapps" unpackWARs="false"
> autoDeploy="false" deployOnStartup="true" xmlValidation="false"
> xmlNamespaceAware="false">

You want autoDeploy set to "true" to get Tomcat to recognize on-the-fly
updates.

Forget about using the manager app for deployment - it uses the defaults
built into Tomcat, and you're not going to be able to subvert them.  I
think the only way you're going to be able to accomplish what you want
is to keep your webapp outside of the appBase directory, put your
<Context> element in conf/Catalina/[host]/site.xml, and have its docBase
attribute point to the location of your webapp.  (This is the only
instance in which a docBase attribute has purpose.)  Write a script that
copies the updated webapp (.war or directory) to its production location
and then reloads the application.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: deploy outside of appBase w/Manager

Posted by nyronian <ji...@yahoo.com>.
Excuse me...I meant version 5.5.20



nyronian wrote:
> 
> I am on 5.0.25.....
> 
> Here are the different deployments I have tried and the problems I have:
> 
> First, the context.xml is simple:
> 
> <Context path="/site" docBase="/usr/apps/app1" reloadable="false"
> privileged="false" />
> 
> The server.xml Host entry is:
> <Host name="localhost" appBase="webapps" unpackWARs="false"
> autoDeploy="false" deployOnStartup="true" xmlValidation="false"
> xmlNamespaceAware="false">
> 
> (I have toyed with different settings on unpackWARS, autoDeploy and
> deployOnStartup without success)
> 
> Scenario 1:
> 1.  Place the context.xml in the META-INF of the war and deploy using the
> manager "WAR file to deploy"
>      - As expected, it ignores the path and places the war in the appBase
> directory, not in the docBase directory.
> 
> Scenario 2:
> 1. Place the war and context.xml in a particular location on disk.
> 2. Using the "Deploy directory or WAR file located on server" (in manager)
> I use the following options:
>     a. Context Path = /site
>     b. XML Configuration file URL = file:/path/to/file/context.xml
>     c. WAR or Directory URL = file:/path/to/war/abc.war
> 
>   - This simply leave the war where it is at, does not unpack it in the
> specified docBase and tries to start the war...unsucessfully at that.  
>   - I was hoping it would load the war, unpack it in the docBase and start
> it up
> 
> Scenario 3:
> 1. Place the war and context.xml in a particular location on disk.
> 2. Using the "Deploy directory or WAR file located on server" (in manager)
> I use the following options:
>     a. Context Path (optional) = leave this blank
>     b. XML Configuration file URL = file:/path/to/file/context.xml
>     c. WAR or Directory URL = file:/path/to/war/abc.war
> 
>    - Message FAIL - Invalid context path  was specified
>    - this ignores the path in the context.xml and required the optional
> parameter Context Path.
> 
> At any rate, I have mulled over these options in several combinations all
> of which has been unsucessful.
> 
> There is one Sucessful Senario:
> 
> 1. Stop the application.
> 2. maually</> delete and unpack the new war in the specified docBase
> directory.
> 3. Using the "Deploy directory or WAR file located on server" (in manager)
> I use the following options:
>     a. Context Path = /site
>     b. XML Configuration file URL = file:/path/to/file/context.xml
>     c. WAR or Directory URL = file:/path/to/unpackedwar/directory
> 
>   - This seems to work but do not want the manual steps.
> 
> 
> 
> Scott McClanahan wrote:
>> 
>> On Tue, 2007-10-02 at 16:51 -0400, nyronian wrote:
>>> 
>>> To put it simply, I would like to use the manager to deploy an app
>>> just like
>>> auto-deployment works but I need to change the context (path) without
>>> changing the name of the war.
>>> 
>>> I am trying to implement the following deployment requirment:
>>> 
>>> 1. Change the context (path) of the war I am deploying, different from
>>> the
>>> name of the war.  Note:  I know this is not best practice and against
>>> tomcats model but I cannot change the name of the war, as much as I
>>> would
>>> love to.
>>> 
>>> 2. Deploy the war outside of the appBase directory via the tomcat
>>> manager.
>>> Note: this has to be done in order to change the context.  The context
>>> cannot be changed if it resides in the appBase directory
>>> 
>>> 3. When deploying the war, have it:
>>>       a. load the war from disk (or from an URL)
>>>       b. un-deploy itself if needed (delete the directory off disk)
>>>       c. unPack itself to disk in the location specified (as specified
>>> by
>>> the docBase parm)
>>>       d. deploy itself under the given context (path)
>>> 
>>> 
>>> 
>>> Note:  I have done a ton of research and can't seem to find this exact
>>> scenario.  I can manually do this by simply laying out the war on disk
>>> and
>>> loading the context.xml file and point to the directory, but I can't
>>> seem to
>>> auto-deploy with this scenario with the manager tool.
>>> 
>>> Thanks.
>>> --
>>> View this message in context:
>>> http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13007722
>>> Sent from the Tomcat - User mailing list archive at Nabble.com.
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>> 
>>> 
>> You can if you use tomcat 5.0.x for the most part (5.0.28 for sure).  It
>> works brilliantly.
>> 
>> 
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13009274
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: deploy outside of appBase w/Manager

Posted by nyronian <ji...@yahoo.com>.
I am on 5.0.25.....

Here are the different deployments I have tried and the problems I have:

First, the context.xml is simple:

<Context path="/site" docBase="/usr/apps/app1" reloadable="false"
privileged="false" />

The server.xml Host entry is:
<Host name="localhost" appBase="webapps" unpackWARs="false"
autoDeploy="false" deployOnStartup="true" xmlValidation="false"
xmlNamespaceAware="false">

(I have toyed with different settings on unpackWARS, autoDeploy and
deployOnStartup without success)

Scenario 1:
1.  Place the context.xml in the META-INF of the war and deploy using the
manager "WAR file to deploy"
     - As expected, it ignores the path and places the war in the appBase
directory, not in the docBase directory.

Scenario 2:
1. Place the war and context.xml in a particular location on disk.
2. Using the "Deploy directory or WAR file located on server" (in manager) I
use the following options:
    a. Context Path = /site
    b. XML Configuration file URL = file:/path/to/file/context.xml
    c. WAR or Directory URL = file:/path/to/war/abc.war

  - This simply leave the war where it is at, does not unpack it in the
specified docBase and tries to start the war...unsucessfully at that.  
  - I was hoping it would load the war, unpack it in the docBase and start
it up

Scenario 3:
1. Place the war and context.xml in a particular location on disk.
2. Using the "Deploy directory or WAR file located on server" (in manager) I
use the following options:
    a. Context Path (optional) = leave this blank
    b. XML Configuration file URL = file:/path/to/file/context.xml
    c. WAR or Directory URL = file:/path/to/war/abc.war

   - Message FAIL - Invalid context path  was specified
   - this ignores the path in the context.xml and required the optional
parameter Context Path.

At any rate, I have mulled over these options in several combinations all of
which has been unsucessful.

There is one Sucessful Senario:

1. Stop the application.
2. maually</> delete and unpack the new war in the specified docBase
directory.
3. Using the "Deploy directory or WAR file located on server" (in manager) I
use the following options:
    a. Context Path = /site
    b. XML Configuration file URL = file:/path/to/file/context.xml
    c. WAR or Directory URL = file:/path/to/unpackedwar/directory

  - This seems to work but do not want the manual steps.



Scott McClanahan wrote:
> 
> On Tue, 2007-10-02 at 16:51 -0400, nyronian wrote:
>> 
>> To put it simply, I would like to use the manager to deploy an app
>> just like
>> auto-deployment works but I need to change the context (path) without
>> changing the name of the war.
>> 
>> I am trying to implement the following deployment requirment:
>> 
>> 1. Change the context (path) of the war I am deploying, different from
>> the
>> name of the war.  Note:  I know this is not best practice and against
>> tomcats model but I cannot change the name of the war, as much as I
>> would
>> love to.
>> 
>> 2. Deploy the war outside of the appBase directory via the tomcat
>> manager.
>> Note: this has to be done in order to change the context.  The context
>> cannot be changed if it resides in the appBase directory
>> 
>> 3. When deploying the war, have it:
>>       a. load the war from disk (or from an URL)
>>       b. un-deploy itself if needed (delete the directory off disk)
>>       c. unPack itself to disk in the location specified (as specified
>> by
>> the docBase parm)
>>       d. deploy itself under the given context (path)
>> 
>> 
>> 
>> Note:  I have done a ton of research and can't seem to find this exact
>> scenario.  I can manually do this by simply laying out the war on disk
>> and
>> loading the context.xml file and point to the directory, but I can't
>> seem to
>> auto-deploy with this scenario with the manager tool.
>> 
>> Thanks.
>> --
>> View this message in context:
>> http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13007722
>> Sent from the Tomcat - User mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>> 
>> 
> You can if you use tomcat 5.0.x for the most part (5.0.28 for sure).  It
> works brilliantly.
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13008327
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: deploy outside of appBase w/Manager

Posted by Scott McClanahan <sc...@trnswrks.com>.
On Tue, 2007-10-02 at 16:51 -0400, nyronian wrote:
> 
> To put it simply, I would like to use the manager to deploy an app
> just like
> auto-deployment works but I need to change the context (path) without
> changing the name of the war.
> 
> I am trying to implement the following deployment requirment:
> 
> 1. Change the context (path) of the war I am deploying, different from
> the
> name of the war.  Note:  I know this is not best practice and against
> tomcats model but I cannot change the name of the war, as much as I
> would
> love to.
> 
> 2. Deploy the war outside of the appBase directory via the tomcat
> manager.
> Note: this has to be done in order to change the context.  The context
> cannot be changed if it resides in the appBase directory
> 
> 3. When deploying the war, have it:
>       a. load the war from disk (or from an URL)
>       b. un-deploy itself if needed (delete the directory off disk)
>       c. unPack itself to disk in the location specified (as specified
> by
> the docBase parm)
>       d. deploy itself under the given context (path)
> 
> 
> 
> Note:  I have done a ton of research and can't seem to find this exact
> scenario.  I can manually do this by simply laying out the war on disk
> and
> loading the context.xml file and point to the directory, but I can't
> seem to
> auto-deploy with this scenario with the manager tool.
> 
> Thanks.
> --
> View this message in context:
> http://www.nabble.com/deploy-outside-of-appBase-w-Manager-tf4558016.html#a13007722
> Sent from the Tomcat - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
You can if you use tomcat 5.0.x for the most part (5.0.28 for sure).  It
works brilliantly.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org