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.
- 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
|
-
|