Re: Improving maven/wicket deployment process

2009-08-24 Thread Tauren Mills
Igor,

Thanks for the suggestion.  Definitely looks like a good way to go.

Tauren


On Sun, Aug 23, 2009 at 5:02 PM, Igor Vaynberg wrote:

> we used to do something like this before we switched to jndi
>
> classpath*:/application.properties <-- prod values
> conf/application.${user.name}.properties
>
> that way each dev can create a conf/application. name>.properties and override production settings with their own.
>
> for different envs you simply override the value of user.name with by
> defining it with -Duser.name
>
> -igor
>
> On Fri, Aug 21, 2009 at 4:27 PM, Tauren Mills wrote:
> > I just wanted to follow up on this.  As an interim solution until I
> > have time to really do this right (using Hudson, etc.), I've done what
> > is suggested here:
> > http://www.developer.com/java/ent/article.php/3811931
> >
> > In my spring config PropertyPlaceholderConfigurer, I use this:
> > classpath*:/application.${env}.properties
> >
> > This means that steps 1 and 2 have been resolved without the effort
> > required to switch to using JNDI, maven profiles, or other build
> > tools.  All I do is specify -Denv=prod on my production server and
> > -Denv=dev -Dwicket.configuration=development on my development system.
> >  I can add additional staging, QA, and other servers with this
> > scenario, and it doesn't require a separate WAR for each one.
> >
> > Tauren
> >
> >
> > On Mon, Aug 17, 2009 at 11:07 AM, Tauren Mills
> wrote:
> >> Janos and Jeremy,
> >>
> >> Thank you both for your feedback!
> >>
> >> After considering your answers, I think that using Maven profiles is
> >> most in line with my needs.  And the suggestion to use the command
> >> line -Dwicket.configuration=deployment parameter will certainly help.
> >> I've never used Hudson before, but I'm looking into it now. It sounds
> >> like it could help simplify things significantly.
> >>
> >> Thanks again,
> >> Tauren
> >>
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Improving maven/wicket deployment process

2009-08-23 Thread Igor Vaynberg
we used to do something like this before we switched to jndi

classpath*:/application.properties <-- prod values
conf/application.${user.name}.properties

that way each dev can create a conf/application..properties and override production settings with their own.

for different envs you simply override the value of user.name with by
defining it with -Duser.name

-igor

On Fri, Aug 21, 2009 at 4:27 PM, Tauren Mills wrote:
> I just wanted to follow up on this.  As an interim solution until I
> have time to really do this right (using Hudson, etc.), I've done what
> is suggested here:
> http://www.developer.com/java/ent/article.php/3811931
>
> In my spring config PropertyPlaceholderConfigurer, I use this:
> classpath*:/application.${env}.properties
>
> This means that steps 1 and 2 have been resolved without the effort
> required to switch to using JNDI, maven profiles, or other build
> tools.  All I do is specify -Denv=prod on my production server and
> -Denv=dev -Dwicket.configuration=development on my development system.
>  I can add additional staging, QA, and other servers with this
> scenario, and it doesn't require a separate WAR for each one.
>
> Tauren
>
>
> On Mon, Aug 17, 2009 at 11:07 AM, Tauren Mills wrote:
>> Janos and Jeremy,
>>
>> Thank you both for your feedback!
>>
>> After considering your answers, I think that using Maven profiles is
>> most in line with my needs.  And the suggestion to use the command
>> line -Dwicket.configuration=deployment parameter will certainly help.
>> I've never used Hudson before, but I'm looking into it now. It sounds
>> like it could help simplify things significantly.
>>
>> Thanks again,
>> Tauren
>>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Improving maven/wicket deployment process

2009-08-21 Thread Tauren Mills
I just wanted to follow up on this.  As an interim solution until I
have time to really do this right (using Hudson, etc.), I've done what
is suggested here:
http://www.developer.com/java/ent/article.php/3811931

In my spring config PropertyPlaceholderConfigurer, I use this:
classpath*:/application.${env}.properties

This means that steps 1 and 2 have been resolved without the effort
required to switch to using JNDI, maven profiles, or other build
tools.  All I do is specify -Denv=prod on my production server and
-Denv=dev -Dwicket.configuration=development on my development system.
 I can add additional staging, QA, and other servers with this
scenario, and it doesn't require a separate WAR for each one.

Tauren


On Mon, Aug 17, 2009 at 11:07 AM, Tauren Mills wrote:
> Janos and Jeremy,
>
> Thank you both for your feedback!
>
> After considering your answers, I think that using Maven profiles is
> most in line with my needs.  And the suggestion to use the command
> line -Dwicket.configuration=deployment parameter will certainly help.
> I've never used Hudson before, but I'm looking into it now. It sounds
> like it could help simplify things significantly.
>
> Thanks again,
> Tauren
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Improving maven/wicket deployment process

2009-08-17 Thread Tauren Mills
Janos and Jeremy,

Thank you both for your feedback!

After considering your answers, I think that using Maven profiles is
most in line with my needs.  And the suggestion to use the command
line -Dwicket.configuration=deployment parameter will certainly help.
I've never used Hudson before, but I'm looking into it now. It sounds
like it could help simplify things significantly.

Thanks again,
Tauren

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Improving maven/wicket deployment process

2009-08-16 Thread Jeremy Thomerson
I have a shell script that does most of this stuff.  Here's my steps:

1 - mvn clean package
2 - scp package to server(s)
3 - on server, run deploy script
3a - script makes temp working directory
3b - script copies web.xml, application.properties, etc from prod into temp dir
3c - script unzips war into proper location
3d - script copies the production web.xml, etc, back into place
3e - script restarts tomcat / apache (not necessary depending on your
config, it's just how I like to do it)

Most of the applications that I currently maintain can be deployed to
production within about five minutes, including build, upload time,
etc. (of course the automated tests take longer on some applications -
this is excluding test time)

--
Jeremy Thomerson
http://www.wickettraining.com




On Sat, Aug 15, 2009 at 10:33 PM, Tauren Mills wrote:
> I currently don't have an automated deployment process in place for a
> wicket/spring/hibernate/maven project and am looking for suggestions
> on how to best implement one.  I'm open to any suggestions as well as
> references to helpful URLs and other resources.
>
> When it is time to deploy my project, I manually go through the following 
> steps:
>
> 1.  Edit application.properties and comment out my local development
> database configuration and uncomment the production database
> configuration. The settings in this file (jdbc.driver, jdbc.url,
> jdbc.username, jdbc.password, hibernate.dialect,
> hibernate.hbm2ddl.auto) are used in my spring configuration files to
> create a datasource and sessionfactory.
>
> 2.  Edit web.xml and change the configuration context-param from
> development to deployment.
>
> 3.  Run mvn install
>
> 4.  scp the newly built war file from my local maven repo to the
> jetty/webapps folder on my deployment server.
>
> 5.  Remove the existing ROOT.war file from the deployment server.
>
> 6.  Rename the new war file to ROOT.war
>
> 7.  Restart the deployment jetty server
>
> Of course, this assumes there are no complex database changes required
> by the new version that can't be handled by hbm2ddl.auto=update.  If
> there are, then I also need to apply an sql update script to the
> database.
>
> I'm sure that this process can be streamlined.  I plan to look into
> mvn deploy and see what I can accomplish.  I believe there are also
> ways to use maven to have development and deployment versions of
> different files such as application.properties.
>
> If you have already solved these types of problems, I'd love to hear
> how you did it.
>
> Thanks!
> Tauren
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Improving maven/wicket deployment process

2009-08-15 Thread Cserep Janos
> 1.  Edit application.properties and comment out my local development
> database configuration and uncomment the production database
> configuration. The settings in this file (jdbc.driver, jdbc.url,
> jdbc.username, jdbc.password, hibernate.dialect,
> hibernate.hbm2ddl.auto) are used in my spring configuration files to
> create a datasource and sessionfactory.

I prefer JNDI bound datasources configured in the app server (running
mainly on glassfish), but you could use maven profiles and properties
defined in profiles with property substitution in
application.properties.

On profiles: 
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
On property substitution with a Hudson example:
http://weblogs.java.net/blog/johnsmart/archive/2008/03/using_hudson_en.html

> 2.  Edit web.xml and change the configuration context-param from
> development to deployment.

I use the jvm startup parameter: -Dwicket.configuration=deployment on
all production server instances as it overrides web.xml.

>
> 3.  Run mvn install

I use Hudson with standard maven build definitions to build everything
that ever gets deployed to stage and production servers.

> 4.  scp the newly built war file from my local maven repo to the
> jetty/webapps folder on my deployment server.

> 5.  Remove the existing ROOT.war file from the deployment server.
>
> 6.  Rename the new war file to ROOT.war
>
> 7.  Restart the deployment jetty server

I use a custom Hudson task to deploy the last successful build in
glassfish - a couple of shell commands do the trick. I even have
custom tasks to copy the production db to staging - it's very
convenient to automate such tasks with it.

Janos

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org