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.
- data/Manifest +1 -1
- data/README.md +135 -52
- data/Rakefile +2 -2
- data/TODO.md +7 -0
- data/ucb_deployer.gemspec +3 -3
- metadata +5 -4
- data/TODO.txt +0 -7
data/Manifest
CHANGED
data/README.md
CHANGED
@@ -1,81 +1,164 @@
|
|
1
|
+
UCB Deployer
|
2
|
+
============
|
1
3
|
|
2
|
-
|
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
|
-
|
10
|
+
Deployments done with UCB Deployer will follow the following structure.
|
8
11
|
|
9
|
-
|
10
|
-
|
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
|
-
|
17
|
+
The *ucb_deploy* command will then do the following:
|
14
18
|
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
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
|
-
|
29
|
+
ucb_deploy remove_maintenance_file APP=<jira|confluence>
|
22
30
|
|
23
|
-
|
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
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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
|
-
|
64
|
+
General Configuration
|
65
|
+
---------------------
|
39
66
|
|
40
|
-
|
67
|
+
#### Layout/Directories ####
|
41
68
|
|
42
|
-
|
43
|
-
|
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
|
-
|
54
|
-
|
55
|
-
|
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
|
-
|
61
|
-
$HOME/build/jira/lib
|
91
|
+
#### Configuration Options ####
|
62
92
|
|
63
|
-
|
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
|
-
|
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
|
-
|
77
|
-
|
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
|
-
|
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.
|
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.
|
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.
|
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:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
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.
|
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
|
-
|