- From: Haselwanter Edmund <
>
- To:
- Subject: [chef] Re: Re: Re: RE: Re: Re: Re: Re: Deploying .war files?
- Date: Thu, 23 Jun 2011 18:36:55 +0200
On 23.06.2011, at 17:21, Seth Chisamore wrote:
>
Edmund,
>
I was looking over your enhancements/changes in the application and tomcat
>
cookbooks...good stuff!
Thx! put some work into it ;-)
>
I def want to move all recipes in the application cookbook over to LWRPs
>
(vs definitions as you mention). I would also really like to merge in your
>
tomcat_context LWRP, this would make deploying multiple WARs into a single
>
tomcat instance easier!
it has a proper license to do so ;-)
For the LWRP thing. I was missing this
http://tickets.opscode.com/browse/CHEF-1946
Is there a proposed release date for 0.10.2 ?
https://rubygems.org/gems/chef
is still 0.10.0
>
Seth
>
>
--
>
Opscode, Inc.
>
Seth Chisamore, Senior Technical Evangelist
>
IRC, Skype, Twitter, Github: schisamo
>
>
>
On Thursday, June 23, 2011 at 10:01 AM, Haselwanter Edmund wrote:
>
>
> Hi,
>
>
>
> I've uploaded a reworked application and tomcat cookbook
>
>
>
> http://www.iteh.at/en/blog/2011/06/23/deployment-of-java-web-applications-with-chef-from-opscode/
>
> https://github.com/iteh/vagrant-demos/tree/master/vagrant-java-application-reworked
>
>
>
> which allows for something like this:
>
>
>
> # load a json or do a search like in the application cookbook
>
> #
>
> https://github.com/iteh/vagrant-demos/blob/master/vagrant-java-application-reworked/databags/apps/java_app.json
>
>
>
>
>
> app = JSON.parse(File.open( File.join( File.dirname(__FILE__), \
>
> "../databags/my_webapp.json")).read)
>
>
>
> node.run_state[:current_app] = app
>
>
>
> application_java_webapp “my_webapp”
>
> application_tomcat “my_webapp_tomcat”
>
>
>
> node.run_state.delete(:current_app)
>
>
>
> it uses a tomcat_context LWRP with shasum checking
>
>
>
> tomcat_context app['path'] do
>
> config "#{app['deploy_to']}/shared/#{app['id']}.xml"
>
> checksum app['war'][node.app_environment]['checksum']
>
> admin node["tomcat"]["admin"]
>
> password node["tomcat"]["password"]
>
> action [:update,:start]
>
> end
>
>
>
>
>
> might need some tuning and cleanup
>
>
>
> i think the definition should move to a LWRP too
>
>
>
> cu edi
>
>
>
> On 22.06.2011, at 20:11, Matthew Drobnak wrote:
>
>> Ok, so I did the following:
>
>>
>
>> Created a role called spark_server:
>
>>
>
>> {
>
>> "name": "spark_server",
>
>> "default_attributes": {
>
>> },
>
>> "json_class": "Chef::Role",
>
>> "env_run_lists": {
>
>> },
>
>> "run_list": [
>
>> "recipe[application]"
>
>> ],
>
>> "description": "Spark Tomcat Server",
>
>> "chef_type": "role",
>
>> "override_attributes": {
>
>> }
>
>> }
>
>>
>
>> Created data bag apps:
>
>>
>
>> {
>
>> "group": "nogroup",
>
>> "server_roles": [
>
>> "spark_server"
>
>> ],
>
>> "databases": {
>
>> "_default": {
>
>> "max_active": "100",
>
>> "port": "1433",
>
>> "username": "user",
>
>> "adapter": "sqlserver",
>
>> "max_idle": "30",
>
>> "database": "appname",
>
>> "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
>
>> "max_wait": "10000",
>
>> "password": "awesome_password"
>
>> },
>
>> "dev": {
>
>> "max_active": "100",
>
>> "port": "1433",
>
>> "username": "user",
>
>> "adapter": "sqlserver",
>
>> "max_idle": "30",
>
>> "database": "appname",
>
>> "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
>
>> "max_wait": "10000",
>
>> "password": "apppass"
>
>> }
>
>> },
>
>> "id": "AppName",
>
>> "mysql_repl_password": {
>
>> "_default": "mysql_repl"
>
>> },
>
>> "type": {
>
>> "spark_server": [
>
>> "java_webapp",
>
>> "tomcat"
>
>> ]
>
>> },
>
>> "war": {
>
>> "_default": {
>
>> "checksum":
>
>> "06880edebbf24c4000da4d45d26aa97ddc2a6ad1ae3e4365c755fdb5a1ad481a",
>
>> "source": "http://redacted/spark_server.war"
>
>> }
>
>> },
>
>> "mysql_root_password": {
>
>> "_default": "mysql_root"
>
>> },
>
>> "mysql_debian_password": {
>
>> "_default": "mysql_debian"
>
>> },
>
>> "deploy_to": "/srv/spark_server",
>
>> "owner": "nobody"
>
>> }
>
>>
>
>> These are the cookbooks I have installed:
>
>>
>
>> apache2 0.99.4
>
>> application 0.99.11
>
>> apt 1.1.2
>
>> build-essential 1.0.0
>
>> chef-client 0.99.5
>
>> gunicorn 1.0.0
>
>> java 1.1.0
>
>> jpackage 0.10.0
>
>> mysql 1.0.6
>
>> openssl 1.0.0
>
>> passenger_apache2 0.99.0
>
>> php 1.0.0
>
>> python 1.0.2
>
>> runit 0.14.2
>
>> tomcat 0.10.3
>
>> unicorn 1.0.0
>
>> xml 1.0.0
>
>>
>
>>
>
>> So at this point:
>
>> I have a node, with Tomcat installed. But, I have
>
>> /srv/spark_sever/releases/<sha256sum>.war plus a shared/logs,
>
>> shared/pids,shared/system directories which are empty.
>
>> /etc/tomcat6/Catalina/localhost/ROOT.xml points to
>
>> /srv/spark_server/shared/AppName.xml, which does not exist.
>
>> /var/lib/tomcat6/webapps is empty (ROOT was deleted by the java_webapp
>
>> recipe…), so there’s nothing actually running.
>
>>
>
>> So two things:
>
>> What happened to my context.xml file?
>
>> How can I deploy to a named context instead of the ROOT context?
>
>>
>
>> Thanks.
>
>>
>
>> -Matt
>
>>
>
>>
>
>> From: Matthew Drobnak
>
>> [mailto:
>
>>
>
>> Sent: Tuesday, June 21, 2011 7:45 AM
>
>> To:
>
>>
>
>>
>
>> (mailto:
)
>
>> Subject: [chef] Re: Re: Re: Re: Deploying .war files?
>
>>
>
>> I appreciate everyone's input so far.
>
>>
>
>>
>
>> Seth, I totally missed the application cookbook. I'll look into that and
>
>> hopefully can get at least 1 piece running with Chef!
>
>>
>
>>
>
>>
>
>> I love the premise, but all of the configuration management systems seem
>
>> to have a bit of a steep climb before it becomes easy and powerful. :)
>
>>
>
>>
>
>>
>
>> Thanks again.
>
>>
>
>>
>
>>
>
>> -Matt
>
>>
>
>>
>
>> On Jun 21, 2011, at 12:10 AM, Seth Chisamore wrote:
>
>>
>
>>
>
>>
>
>>> The java_webapp recipe in the application cookbook [0][1] was created to
>
>>> accomplish just this task!
>
>>>
>
>>>
>
>>>
>
>>> The Java Quick Start [1] has a full working example of using this recipe
>
>>> to deploy a Java webapp, including setting up an environment specific
>
>>> context.xml with database connection information.
>
>>>
>
>>>
>
>>> Seth
>
>>>
>
>>> --
>
>>> Opscode, Inc.
>
>>> Seth Chisamore, Senior Technical Evangelist
>
>>> IRC, Skype, Twitter, Github: schisamo
>
>>>
>
>>>
>
>>> [0] http://community.opscode.com/cookbooks/application
>
>>>
>
>>> [1]
>
>>> https://github.com/opscode/cookbooks/blob/master/application/README.md
>
>>>
>
>>>
>
>>> [2] http://help.opscode.com/kb/otherhelp/build-a-java-web-stack
>
>>>
>
>>>
>
>>>
>
>>> On Mon, Jun 20, 2011 at 11:35 PM, Ken Mazaika
>
>>> <
>
>>>
>
>>> (mailto:
)>
>
>>> wrote:
>
>>> could you use something like capistrano for java?
>
>>>
>
>>>
>
>>>
>
>>> On Mon, Jun 20, 2011 at 11:32 PM, Edward Sargisson
>
>>> <
>
>>>
>
>>> (mailto:
)>
>
>>> wrote:
>
>>> I need to do the same thing but haven't written it yet. Here's my plan
>
>>> - hopefully others can critique.
>
>>>
>
>>> Firstly, you don't want to stop tomcat. Chef runs every 20 minutes or
>
>>> so (or whenever you set it for) so it would stop your server every 20
>
>>> minutes. Instead, you should work out if the file on your file server
>
>>> has changed and then do the update. In my case, my build artifacts
>
>>> have a build id. I plan to store the desired build id in a data bag *.
>
>>> The deployed data bag goes into the node data. Then, on the chef run
>
>>> it can compare and then run the update if required.
>
>>>
>
>>> When you do the update you don't need to stop tomcat. Instead you
>
>>> download the WAR to a temp directory then go to the webapps dir and
>
>>> delete the directory for your webapp as well as the old WAR. Then you
>
>>> copy the WAR in. (You can't download directly because then Tomcat
>
>>> un-jars it before it's downloaded). Tomcat then un-jars it and starts
>
>>> it up for you.
>
>>>
>
>>> Cheers,
>
>>> Edward
>
>>>
>
>>> * Amusingly, I forgot the name for data bag and my mind came up with
>
>>> drop bag. Once a trail runner, always a trail runner... :-)
>
>>>
>
>>> On Mon, Jun 20, 2011 at 8:25 PM,
>
>>> <
>
>>>
>
>>> (mailto:
)>
>
>>> wrote:
>
>>>> Hi everyone,
>
>>>> I'm fairly new to Chef. I downloaded and deployed the tomcat cookbook
>
>>>> to a
>
>>>> node, and now I'm trying to add a recipe? or another cookbook, I'm not
>
>>>> sure
>
>>>> really...to deploy our web app that should run on Tomcat.
>
>>>>
>
>>>> I basically want the node to stop tomcat, delete everything in the
>
>>>> webapps
>
>>>> directory, and scp a file to the right spot..then start tomcat.
>
>>>>
>
>>>> I looked briefly at the deploy resource, but that's from a version
>
>>>> control
>
>>>> system...we don't keep builds in version control, only the source..the
>
>>>> binary
>
>>>> builds are on a server, so I don't think that's what I want.
>
>>>>
>
>>>> If anyone can point me in the right direction to get this going, that
>
>>>> would be
>
>>>> greatly appreciated.
>
>>>>
>
>>>> Thanks.
>
>>>>
>
>>>> -Matt
>
>
>
>
>
>
>
> --
>
> DI Edmund Haselwanter,
>
>
>
>
>
> (mailto:
),
>
> http://edmund.haselwanter.com/
>
> http://www.iteh.at | http://facebook.com/iTeh.solutions |
>
> http://at.linkedin.com/in/haselwanteredmund
>
>
--
DI Edmund Haselwanter,
,
http://edmund.haselwanter.com/
http://www.iteh.at |
http://facebook.com/iTeh.solutions |
http://at.linkedin.com/in/haselwanteredmund
- [chef] Re: Re: Re: Deploying .war files?, (continued)
Archive powered by MHonArc 2.6.16.