ucb_deployer 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-