Last modified by Pascal Robert on 2012/07/21 20:39
From version 40.1
edited by Kieran Kelleher
on 2007/12/10 21:48
on 2007/12/10 21:48
Change comment:
There is no comment for this version
To version 41.1
edited by Kieran Kelleher
on 2007/12/10 21:15
on 2007/12/10 21:15
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -16,7 +16,7 @@ 16 16 17 17 == Installation and Usage of the Script == 18 18 19 -Have no fear ;-) , you will not break anything by dropping this script as is into your project and trying it out. Y ou can just use it as is without replacing your default build.xml19 +Have no fear ;-) , you will not break anything by dropping this script as is into your project and trying it out. YOu can just use it as is without replacing your default build.xml 20 20 21 21 * So, download the script and drag it to the root of your project. 22 22 ... ... @@ -36,7 +36,7 @@ 36 36 37 37 * Click the Run button to run the ant script and your fully embedded split install deployment bundles will be created in the "dist" folder. 38 38 39 -== Customiz ing Application/BundleName==39 +=== Customization === 40 40 41 41 It is common to want to use custom bundle build names. There are a number of advantages to having a unique application name for each build: 42 42 ... ... @@ -43,47 +43,3 @@ 43 43 * For example, you might want to have a name that reflects the current revision so that a clean bundle is deployed without overwriting older version bundles on the servers. 44 44 * If the current and new versions of the app are compatible with the current database schema, smooth zero-downtime "rolling upgrades" are possible by using this strategy... and the ability to switch back to the older version if an unexpected deployment problem occurs 45 45 * Because we are using fully embedded split bundles, the unique deployment name will ensure that web server resources all get a new URL ensuring that older versions cached by browsers will not be used for new deployed version apps ... which can be important for javascript and image updates for example. 46 - 47 -OK, so getting to the point, an optional custom app name can be set in the project's build.properties file by simply adding a property "build.app.name" as shown below. 48 - 49 -{{info title="Customizing the Application Build Name"}} 50 - !custom_app_name.jpg! 51 - 52 -{{/info}} 53 - 54 -== Features == 55 - 56 -The desirable features of this script are 57 - 58 -* Fully embedded - your deployed bundle reflects the frameworks you developed and tested with instead of risky assumption that the server has the exact same WebObjects and 3rd party frameworks configuration and versions that you had on your development machine. 59 -* Custom application/bundle names - new version has new URLs for webserver resources that are often cached by browser so the new version will be requested since the URL is different. 60 -* Self-contained deployment bundles - all required frameworks are embedded - minimal dependency on target server configuration and versions. For example, there is no need to install Wonder frameworks on your deployment server since the ones you developed and tested with are embedded in the deployment bundles. Experience has shown that this improves consistency of deployment reliability. 61 -* Compressed gzipped tar archives of both application and webserver bundles are created, ready for copying to target server(s) 62 - 63 -== Anatomy of Embedded Split Install Bundles produced by this Ant Script == 64 - 65 -The notable aspects of the embedded build structure is outlined below. 66 - 67 -=== Application Bundle === 68 - 69 -{{info title="Embedded Application Bundle Layout"}} 70 - !app_bundle_layout.jpg! 71 - 72 -{{/info}} 73 - 74 -The application bundle typically gets installed as follows: 75 - 76 -* Install Location = /Library/WebObjects/Applications/ 77 -* chown (ownership) = appserver:appserveradm 78 -* chmod (permissions) = 755 79 - 80 -=== WebServer Bundle === 81 - 82 -{{info title="Embedded WebServer Bundle Layout"}} 83 - !webserver_app_name.jpg! 84 - 85 -{{/info}} 86 - 87 -== Compatibility == 88 - 89 -This script was developed and tested on Mac OS X 10.4.10, Eclipse 3.3.1 and WOLips #4735. It should be compatible with later versions of WOLips and Eclipse. It works with regular WebObjects apps and Wonder based apps. I don't have a Windows Eclipse/WOLips installation, so if you are a Windows user, please feel free to make necessary changes and submit revised build script if this does not run on Windows.