ucb_deployer 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. data/Manifest +1 -1
  2. data/README.md +135 -52
  3. data/Rakefile +2 -2
  4. data/TODO.md +7 -0
  5. data/ucb_deployer.gemspec +3 -3
  6. metadata +5 -4
  7. data/TODO.txt +0 -7
data/Manifest CHANGED
@@ -1,7 +1,7 @@
1
1
  Manifest
2
2
  README.md
3
3
  Rakefile
4
- TODO.txt
4
+ TODO.md
5
5
  bin/ucb_deploy
6
6
  lib/ucb_deployer.rb
7
7
  lib/ucb_deployer/confluence_deployer.rb
data/README.md CHANGED
@@ -1,81 +1,164 @@
1
+ UCB Deployer
2
+ ============
1
3
 
2
- = UCB Deployer
4
+ UCB Deployer is gem to automate Confluence and JIRA deployments to Tomcat.
3
5
 
4
- UCB Deployer is gem to automate confluence and jira deployments to Tomcat.
5
6
 
7
+ Overview
8
+ --------
6
9
 
7
- == Getting Started
10
+ Deployments done with UCB Deployer will follow the following structure.
8
11
 
9
- === Installation
10
- gem install ucb_deployer
12
+ The user performing the deployment will manually stop tomcat and then
13
+ excecute the ucb_deploy command:
11
14
 
15
+ ucb_deploy APP=<jira|confluence> VERSION=<version>
12
16
 
13
- === Assumptions
17
+ The *ucb_deploy* command will then do the following:
14
18
 
15
- ==== Tomcat Setup
16
- We assume __Jira__ and __Confluence__ both have their own instance of tomcat (their own
17
- $CATALINA_BASE). For more information on this type of setup see:
19
+ 1. Display a user friendly maintenance page that should be picked up by Apache.
20
+ 2. Check out the application from SVN.
21
+ 3. Configure the application in preparation for the build.
22
+ 4. Build the application which results in a war file.
23
+ 5. Deploy the war file to tomcat.
18
24
 
19
- http://wikihub.berkeley.edu/x/RQAnAg
25
+ The user doing the deployment will then have to manually start tomcat and
26
+ confirm success. Once they have confirmed things are ok, they can then
27
+ remove the maintenance file via the command:
20
28
 
21
- We also assume the following __config/__ file is setup for each app:
29
+ ucb_deploy remove_maintenance_file APP=<jira|confluence>
22
30
 
23
- $HOME/config/confluence/deploy.yml
24
- $HOME/config/jira/deploy.yml
31
+ Woot!
25
32
 
26
- Where $HOME is the home directory of the user that will be doing the deployments:
27
- we are using a special user __app_relmgt__ for this purpose.
28
33
 
29
- ==== JIRA: Move Jars into common/lib
30
- Make sure the following jars are in $CATALINA_BASE/lib
31
- * activation-1.0.2.jar
32
- * javamail-1.3.3.jar
33
- * postgresql-8.3-604.jdbc3.jar
34
+ Installation
35
+ ------------
36
+
37
+ gem install ucb_deployer
38
+
39
+
40
+ Assumptions
41
+ -----------
42
+
43
+ #### Tomcat Setup ####
44
+
45
+ It is assumed that JIRA and Confluence each have their own unique Tomcat instance.
46
+ For more information on this setup, see [Tomcat 6 Setup][1]
47
+ [1]: http://wikihub.berkeley.edu/x/gABpAg "Tomcat 6 Setup"
48
+
49
+ #### Application User Account Setup ####
50
+
51
+ It is also assumed that a corresponding unix user has been created for both JIRA and
52
+ Confluence: this is referred to as the application user. The Tomcat instance for
53
+ JIRA/Confluence will run as this application user.
54
+
34
55
 
56
+ #### Release Management User ####
35
57
 
58
+ You should have some sort of *release management user* setup that can start/stop
59
+ Tomcat for JIRA and Confluence (we use app_relmgt). This user should have Read/Write
60
+ access to the Tomcat directories for JIRA and Confluence. Again, for more information
61
+ on this setup see: [Tomcat 6 Setup][1]
36
62
 
37
63
 
38
- === Configuration
64
+ General Configuration
65
+ ---------------------
39
66
 
40
- The deploy.yml files for __Jira__ and __Confluence__ both accept the following options:
67
+ #### Layout/Directories ####
41
68
 
42
- * build_dir
43
- * deploy_dir
44
- * war_name
45
- * cas_service_url
46
- * cas_server_url
47
- * data_dir
48
- * svn_username
49
- * svn_project_url
50
- * maintenance_file_dir
69
+ The following directories and file need to be setup in the **app_relmgt** user's home
70
+ directory:
51
71
 
72
+ $HOME/config/
73
+ +
74
+ |-- jira/
75
+ +
76
+ |-- deploy.yml
77
+ |-- confluence/
78
+ +
79
+ |-- deploy.yml
52
80
 
53
- Assuming we had the following directories setup:
54
- # where we deploy from
55
- $HOME=/home/app_relmgt
81
+ $HOME/build/
82
+ +
83
+ |-- jira/
84
+ +
85
+ |-- deploy.yml
86
+ |-- confluence/
87
+ +
88
+ |-- deploy.yml
56
89
 
57
- # where we run jira (confluence would have it's own dir: /var/lib/confluence)
58
- $JIRA_HOME=/var/lib/jira
59
90
 
60
- $HOME/build/jira/src
61
- $HOME/build/jira/lib
91
+ #### Configuration Options ####
62
92
 
63
- Our __deploy.yml__ file would look like so:
93
+ * **build_dir** : *directory where build will be performed*
94
+ * **deploy_dir** : *directory to deploy the war file to*
95
+ * **war_name** : *name to use for the war file*
96
+ * **cas_server_url** : *url of CAS Server*
97
+ * **cas_service_url** : *url to redirect to after CAS auth succeeds*
98
+ * **data_dir** : *directory to be used by confluecne or jira for storing local data*
99
+ * **svn_username** : *username to be used to connect to svn*
100
+ * **svn_project_url** : *location of confluence/jira release in svn*
101
+ * **maintenance_file_dir** : *location where maintenance file should be written to*
64
102
 
65
- build_dir: /home/app_relmgt/build
66
- deploy_dir: /var/lib/jira/tomcat5/webapps
67
- war_name: ROOT
68
- cas_server_url: http://cas-server.berkeley.edu
69
- cas_service_url: https://wikihub.berkeley.edu
70
- data_dir: /var/lib/jira/data
71
- svn_username: app_relmgt
72
- svn_project_url: svn.berkeley.edu/svn/ist-svn/berkeley/projects/ist/as/webapps/jira_archives/tags
73
- maintenance_file_dir: /path/to/maintenance/dir
103
+ ##### Sample Configuration For JIRA #####
74
104
 
105
+ Assuming we had the above directories setup in ($HOME=/home/app_relmgt), the
106
+ deploy.yml file for jira would look like so:
75
107
 
76
- == Usage
77
- ucb_deploy APP=jira VERSION=x.x.x
108
+ build_dir: /home/app_relmgt/build
109
+ deploy_dir: /home/app_jira/tomcat6/webapps
110
+ war_name: ROOT
111
+ cas_server_url: http://cas-server.berkeley.edu
112
+ cas_service_url: https://wikihub.berkeley.edu
113
+ data_dir: /home/app_jira/app_data
114
+ svn_username: app_relmgt
115
+ svn_project_url: svn.berkeley.edu/svn/ist-svn/berkeley/projects/ist/as/webapps/jira_archives/tags
116
+ maintenance_file_dir: /var/www/html/jira/
117
+
78
118
 
79
- or
119
+ Confluence Configuration
120
+ ------------------------
121
+
122
+ #### Setup Container Jars ####
123
+ Before deploying confluence, you need to make sure the following jar files exist in
124
+ **$CATALINA_BASE/lib** for Confluence's Tomcat instance:
125
+
126
+ * postgresql-8.4-701.jdbc3.jar
127
+ * javamail-1.3.2.jar
128
+ * activation-1.0.2.jar
129
+
130
+
131
+ JIRA Configuration
132
+ ------------------
133
+
134
+ #### Setup Container Jars ####
135
+ Before deploying JIRA, you need to make sure the following jar files exist in
136
+ **$CATALINA_BASE/lib** for JIRA's Tomcat instance:
137
+
138
+ * activation-1.0.2.jar
139
+ * xapool-1.3.1.jar
140
+ * ots-jts_1.0.jar
141
+ * mail-1.4.1.jar
142
+ * postgresql-8.4-701.jdbc3.jar
143
+ * jta-1.0.1.jar
144
+ * jotm-jrmp_stubs-1.4.3.jar
145
+ * jotm-iiop_stubs-1.4.3.jar
146
+ * log4j-1.2.7.jar
147
+ * objectweb-datasource-1.4.3.jar
148
+ * commons-logging-1.0.4.jar
149
+ * carol-properties.jar
150
+ * carol-1.5.2.jar
151
+ * jonas_timer-1.4.3.jar
152
+ * jotm-1.4.3.jar
153
+
154
+
155
+ Usage
156
+ -----
157
+ # Either of these will deploy the appication
158
+ ucb_deploy APP=<confluence|jira> VERSION=x.x.x
159
+ ucb_deploy deploy APP=<confluence|jira> VERSION=x.x.x
160
+
161
+ For more options:
162
+
163
+ ucb_deploy -T
80
164
 
81
- deploy APP=confluence VERSION=x.x.x
data/Rakefile CHANGED
@@ -4,13 +4,13 @@ require 'echoe'
4
4
  require 'spec/rake/spectask'
5
5
 
6
6
 
7
- Echoe.new('ucb_deployer', '0.1.10') do |p|
7
+ Echoe.new('ucb_deployer', '0.1.11') do |p|
8
8
  p.description = "Tool for deploying Confluence/JIRA war files to tomcat"
9
9
  p.url = "http://ucbrb.rubyforge.org"
10
10
  p.author = "Steven Hansen"
11
11
  p.email = "runner@berkeley.edu"
12
12
  p.project = "ucbrb"
13
- p.rdoc_pattern = "README.md", "lib/**/**"
13
+ p.rdoc_pattern = "README.md", "lib/**/**", "TODO.md"
14
14
  end
15
15
 
16
16
  desc "Run RSpec tests"
data/TODO.md ADDED
@@ -0,0 +1,7 @@
1
+ * Add "clean" task to remove previous build dirs, files, etc
2
+ * Add "init" task to automatically create build/ and config/ directories
3
+ * Don't needlessly download source from svn everytime. If source for requested
4
+ version has already been pulled down to the filesystem, reuse it.
5
+ * For commands like display_maintenance_file and remove_maintenance_file, you should
6
+ not need to pass int the VERSION option
7
+
data/ucb_deployer.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{ucb_deployer}
5
- s.version = "0.1.10"
5
+ s.version = "0.1.11"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Steven Hansen"]
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
11
11
  s.description = %q{Tool for deploying Confluence/JIRA war files to tomcat}
12
12
  s.email = %q{runner@berkeley.edu}
13
13
  s.executables = ["ucb_deploy"]
14
- s.extra_rdoc_files = ["README.md", "lib/ucb_deployer.rb", "lib/ucb_deployer/confluence_deployer.rb", "lib/ucb_deployer/deployer.rb", "lib/ucb_deployer/jira_deployer.rb"]
15
- s.files = ["Manifest", "README.md", "Rakefile", "TODO.txt", "bin/ucb_deploy", "lib/ucb_deployer.rb", "lib/ucb_deployer/confluence_deployer.rb", "lib/ucb_deployer/deployer.rb", "lib/ucb_deployer/jira_deployer.rb", "resources/confluence_cas_web.xml", "resources/jira_cas_web.xml", "resources/soulwing-casclient-0.5.3.jar", "spec/fixtures/confluence/bad_deploy.yml", "spec/fixtures/confluence/confluence-init.properties", "spec/fixtures/confluence/deploy.yml", "spec/fixtures/confluence/seraph-config.xml", "spec/fixtures/confluence/web.xml", "spec/fixtures/jira/bad_deploy.yml", "spec/fixtures/jira/deploy.yml", "spec/fixtures/jira/entityengine.xml", "spec/fixtures/jira/seraph-config.xml", "spec/fixtures/jira/web.xml", "spec/spec_helper.rb", "spec/ucb_deployer/confluence_deployer_spec.rb", "spec/ucb_deployer/jira_deployer_spec.rb", "spec/ucb_deployer/ucb_deployer_spec.rb", "ucb_deployer.gemspec"]
14
+ s.extra_rdoc_files = ["README.md", "TODO.md", "lib/ucb_deployer.rb", "lib/ucb_deployer/confluence_deployer.rb", "lib/ucb_deployer/deployer.rb", "lib/ucb_deployer/jira_deployer.rb"]
15
+ s.files = ["Manifest", "README.md", "Rakefile", "TODO.md", "bin/ucb_deploy", "lib/ucb_deployer.rb", "lib/ucb_deployer/confluence_deployer.rb", "lib/ucb_deployer/deployer.rb", "lib/ucb_deployer/jira_deployer.rb", "resources/confluence_cas_web.xml", "resources/jira_cas_web.xml", "resources/soulwing-casclient-0.5.3.jar", "spec/fixtures/confluence/bad_deploy.yml", "spec/fixtures/confluence/confluence-init.properties", "spec/fixtures/confluence/deploy.yml", "spec/fixtures/confluence/seraph-config.xml", "spec/fixtures/confluence/web.xml", "spec/fixtures/jira/bad_deploy.yml", "spec/fixtures/jira/deploy.yml", "spec/fixtures/jira/entityengine.xml", "spec/fixtures/jira/seraph-config.xml", "spec/fixtures/jira/web.xml", "spec/spec_helper.rb", "spec/ucb_deployer/confluence_deployer_spec.rb", "spec/ucb_deployer/jira_deployer_spec.rb", "spec/ucb_deployer/ucb_deployer_spec.rb", "ucb_deployer.gemspec"]
16
16
  s.homepage = %q{http://ucbrb.rubyforge.org}
17
17
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Ucb_deployer", "--main", "README.md"]
18
18
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucb_deployer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 10
10
- version: 0.1.10
9
+ - 11
10
+ version: 0.1.11
11
11
  platform: ruby
12
12
  authors:
13
13
  - Steven Hansen
@@ -27,6 +27,7 @@ extensions: []
27
27
 
28
28
  extra_rdoc_files:
29
29
  - README.md
30
+ - TODO.md
30
31
  - lib/ucb_deployer.rb
31
32
  - lib/ucb_deployer/confluence_deployer.rb
32
33
  - lib/ucb_deployer/deployer.rb
@@ -35,7 +36,7 @@ files:
35
36
  - Manifest
36
37
  - README.md
37
38
  - Rakefile
38
- - TODO.txt
39
+ - TODO.md
39
40
  - bin/ucb_deploy
40
41
  - lib/ucb_deployer.rb
41
42
  - lib/ucb_deployer/confluence_deployer.rb
data/TODO.txt DELETED
@@ -1,7 +0,0 @@
1
- * add "clean" task to remove previous build dirs, files, etc
2
-
3
- * Don't needlessly download source from svn everytime. If source for requested version has
4
- already been pulled down to the filesystem, reuse it.
5
-
6
- * Confluence should have mail.jar and activation.jar removed from webapps/ROOT/WEB-INF/lib
7
-