ucb_deployer 0.4.5 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/{.svnignore → .gitignore} +4 -2
- data/Gemfile.lock +1 -1
- data/lib/ucb_deployer/jira_deployer.rb +14 -5
- data/lib/ucb_deployer/version.rb +1 -1
- data/resources/soulwing-casclient-0.6-patched.jar +0 -0
- data/spec/fixtures/confluence/deploy.yml +1 -2
- data/spec/fixtures/jira/deploy.yml +1 -2
- data/spec/fixtures/jira/jira-application.properties +14 -2
- data/spec/fixtures/jira/seraph-config.xml +5 -6
- data/spec/ucb_deployer/confluence_deployer_spec.rb +2 -2
- data/spec/ucb_deployer/jira_deployer_spec.rb +87 -88
- data/ucb_deployer.gemspec +1 -1
- metadata +8 -8
- data/resources/soulwing-casclient-0.5.3-1.jar +0 -0
data/{.svnignore → .gitignore}
RENAMED
data/Gemfile.lock
CHANGED
@@ -49,7 +49,6 @@ module UcbDeployer
|
|
49
49
|
end
|
50
50
|
|
51
51
|
|
52
|
-
protected
|
53
52
|
|
54
53
|
def cas_logout_url()
|
55
54
|
"/casLogout.action"
|
@@ -141,7 +140,8 @@ module UcbDeployer
|
|
141
140
|
end
|
142
141
|
|
143
142
|
def seraph_config_xml_auth_class_token()
|
144
|
-
"com.atlassian.jira.security.login.
|
143
|
+
"com.atlassian.jira.security.login.JiraSeraphAuthenticator"
|
144
|
+
# "com.atlassian.jira.security.login.JiraOsUserAuthenticator"
|
145
145
|
end
|
146
146
|
|
147
147
|
def seraph_config_xml_logout_url_token()
|
@@ -188,7 +188,11 @@ module UcbDeployer
|
|
188
188
|
def jira_home_token()
|
189
189
|
"jira.home ="
|
190
190
|
end
|
191
|
-
|
191
|
+
|
192
|
+
def jira_projectkey_token()
|
193
|
+
"jira.projectkey.pattern ="
|
194
|
+
end
|
195
|
+
|
192
196
|
##
|
193
197
|
# Sets the jira.home property in the file: jira-application.properties.
|
194
198
|
#
|
@@ -199,6 +203,11 @@ module UcbDeployer
|
|
199
203
|
new_str = "#{self.jira_home_token()} #{self.data_dir()}"
|
200
204
|
self.debug(new_str)
|
201
205
|
new_str
|
206
|
+
elsif m = /(#{Regexp.quote(jira_projectkey_token)})/.match(line)
|
207
|
+
self.debug(m[0])
|
208
|
+
new_str = "#{self.jira_projectkey_token()} ([A-Z][A-Z0-9]+)"
|
209
|
+
self.debug(new_str)
|
210
|
+
new_str
|
202
211
|
else
|
203
212
|
line
|
204
213
|
end
|
@@ -226,8 +235,8 @@ module UcbDeployer
|
|
226
235
|
FileUtils.cp(Dir["#{UcbDeployer::RESOURCES_DIR}/soulwing-casclient-*"],
|
227
236
|
"#{self.build_dir()}/src/edit-webapp/WEB-INF/lib/")
|
228
237
|
# These have been placed in $CATALINA_HOME/lib
|
229
|
-
["mail", "activation", "javamail", "commons-logging", "log4j"].each do |
|
230
|
-
FileUtils.rm_rf(Dir["#{self.build_dir()}/src/webapp/WEB-INF/lib/#{
|
238
|
+
["mail", "activation", "javamail", "commons-logging", "log4j"].each do |jar_file|
|
239
|
+
FileUtils.rm_rf(Dir["#{self.build_dir()}/src/webapp/WEB-INF/lib/#{jar_file}-*"])
|
231
240
|
end
|
232
241
|
end
|
233
242
|
|
data/lib/ucb_deployer/version.rb
CHANGED
Binary file
|
@@ -1,7 +1,6 @@
|
|
1
1
|
build_dir: /path/to/build_dir/confluence
|
2
2
|
deploy_dir: /path/to/deploy_dir
|
3
3
|
war_name: war_name
|
4
|
-
|
5
|
-
svn_project_url: svn.berkeley.edu/svn/ist-svn/berkeley/projects/ist/as/webapps/confluence_archives/tags
|
4
|
+
svn_project_url: svn+ssh://svn@code-qa.berkeley.edu/istas/confluence_archives/tags
|
6
5
|
cas_server_url: https://auth.berkeley.edu/cas
|
7
6
|
cas_service_url: https://wikihub.berkeley.edu
|
@@ -1,8 +1,7 @@
|
|
1
1
|
build_dir: /path/to/build_dir/jira
|
2
2
|
deploy_dir: /path/to/deploy_dir
|
3
3
|
war_name: war_name
|
4
|
-
|
5
|
-
svn_project_url: svn.berkeley.edu/svn/ist-svn/berkeley/projects/ist/as/webapps/jira_archives/tags
|
4
|
+
svn_project_url: svn+ssh://svn@code.berkeley.edu/istas/jira_archives/tags
|
6
5
|
cas_server_url: https://auth.berkeley.edu/cas
|
7
6
|
cas_service_url: https://wikihub.berkeley.edu
|
8
7
|
data_dir: /path/to/data_dir
|
@@ -15,7 +15,7 @@
|
|
15
15
|
#
|
16
16
|
# You can also use Unix-like paths which Java/JIRA can handle, eg c:/jira/home
|
17
17
|
#
|
18
|
-
jira.home =
|
18
|
+
jira.home =
|
19
19
|
|
20
20
|
########################################################################################################################
|
21
21
|
#
|
@@ -314,7 +314,7 @@ jira.table.cols.linkedissue = issuetype, issuekey, summary, status, priority
|
|
314
314
|
|
315
315
|
|
316
316
|
#-----------------------------------------------------------------------------------------------------------------------
|
317
|
-
#
|
317
|
+
# Subtasks
|
318
318
|
#-----------------------------------------------------------------------------------------------------------------------
|
319
319
|
|
320
320
|
# The columns to show when viewing sub-task issues in a table (ie. the 'Sub-Tasks' section on the 'View Issue' page).
|
@@ -802,6 +802,9 @@ jira.search.fullcontentview.pagebreaks = true
|
|
802
802
|
#jira.i18n.sql.collator.strength = IDENTICAL
|
803
803
|
|
804
804
|
#-----------------------------------------------------------------------------------------------------------------------
|
805
|
+
#
|
806
|
+
# This property specifies whether JIRA should embed i18n key meta-data when rendering pages.
|
807
|
+
jira.i18n.include.meta-data=true
|
805
808
|
|
806
809
|
# Specified the 'wait time' for a file lock in the Lucene IssueIndexManager (in milliseconds)
|
807
810
|
# This value should only be modified if you are seeing a jira.issue.index.DefaultIndexManager 'Giving up reindex' ERROR
|
@@ -844,6 +847,15 @@ jira.index.interactive.mergefactor = 4
|
|
844
847
|
jira.index.interactive.maxmergedocs = 2147483647
|
845
848
|
jira.index.interactive.maxbuffereddocs = 300
|
846
849
|
|
850
|
+
#-----------------------------------------------------------------------------------------------------------------------
|
851
|
+
# Websudo settings - Temporary Administrative Access
|
852
|
+
#-----------------------------------------------------------------------------------------------------------------------
|
853
|
+
|
854
|
+
# Is websudo disabled
|
855
|
+
jira.websudo.is.disabled = false
|
856
|
+
# How long will a websudo session last in minutes
|
857
|
+
jira.websudo.timeout = 10
|
858
|
+
|
847
859
|
|
848
860
|
########################################################################################################################
|
849
861
|
#
|
@@ -11,7 +11,7 @@
|
|
11
11
|
This gives SSO login pages the chance to redirect to the original page
|
12
12
|
-->
|
13
13
|
<param-name>login.url</param-name>
|
14
|
-
<param-value>/login.jsp?os_destination=${originalurl}</param-value>
|
14
|
+
<param-value>/login.jsp?permissionViolation=true&os_destination=${originalurl}</param-value>
|
15
15
|
<!--<param-value>http://sso.mycompany.com/login?redirectTo=${originalurl}</param-value>-->
|
16
16
|
</init-param>
|
17
17
|
<init-param>
|
@@ -67,18 +67,18 @@
|
|
67
67
|
</init-param>
|
68
68
|
<init-param>
|
69
69
|
<param-name>invalidate.session.exclude.list</param-name>
|
70
|
-
<param-value>ASESSIONID</param-value>
|
70
|
+
<param-value>ASESSIONID,jira.websudo.timestamp</param-value>
|
71
71
|
</init-param>
|
72
72
|
</parameters>
|
73
73
|
|
74
|
-
<!-- CROWD:START - If enabling Crowd SSO integration uncomment the following
|
74
|
+
<!-- CROWD:START - If enabling Crowd SSO integration uncomment the following SSOSeraphAuthenticator and comment out the JiraSeraphAuthenticator below -->
|
75
75
|
<!--
|
76
|
-
<authenticator class="com.atlassian.
|
76
|
+
<authenticator class="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>
|
77
77
|
-->
|
78
78
|
<!-- CROWD:END -->
|
79
79
|
|
80
80
|
<!-- CROWD:START - The authenticator below here will need to be commented out for Crowd SSO integration -->
|
81
|
-
<authenticator class="com.atlassian.jira.security.login.
|
81
|
+
<authenticator class="com.atlassian.jira.security.login.JiraSeraphAuthenticator"/>
|
82
82
|
<!-- CROWD:END -->
|
83
83
|
|
84
84
|
<!-- NB: the URL to redirect to is now specified by login.url above -->
|
@@ -103,7 +103,6 @@
|
|
103
103
|
<elevatedsecurityguard class="com.atlassian.jira.security.login.JiraElevatedSecurityGuard"/>
|
104
104
|
|
105
105
|
<interceptors>
|
106
|
-
<interceptor class="com.atlassian.jira.portal.PortalPageInterceptor"/>
|
107
106
|
<interceptor class="com.atlassian.jira.user.preferences.UserPreferencesResetInterceptor"/>
|
108
107
|
</interceptors>
|
109
108
|
</security-config>
|
@@ -17,7 +17,7 @@ describe UcbDeployer::ConfluenceDeployer do
|
|
17
17
|
@cdep.build_dir.should == "/path/to/build_dir/confluence"
|
18
18
|
@cdep.deploy_dir.should == "/path/to/deploy_dir"
|
19
19
|
@cdep.war_name.should == "war_name"
|
20
|
-
@cdep.svn_project_url.should == "svn.berkeley.edu/
|
20
|
+
@cdep.svn_project_url.should == "svn+ssh://svn@code-qa.berkeley.edu/istas/confluence_archives/tags"
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should raise error for invalid config options" do
|
@@ -113,7 +113,7 @@ describe UcbDeployer::ConfluenceDeployer do
|
|
113
113
|
cdep = UcbDeployer::ConfluenceDeployer.new(@deploy_file)
|
114
114
|
cdep.build_dir = test_build_dir
|
115
115
|
cdep.version = "3.2.1_01"
|
116
|
-
arg = "svn export
|
116
|
+
arg = "svn export #{cdep.svn_project_url}/confluence-#{cdep.version}"
|
117
117
|
cdep.should_receive("`").with(arg).and_return(nil)
|
118
118
|
FileUtils.should_receive("mv")
|
119
119
|
cdep.export()
|
@@ -4,134 +4,133 @@ require File.dirname(__FILE__) + '/../spec_helper'
|
|
4
4
|
describe UcbDeployer::JiraDeployer do
|
5
5
|
before(:each) do
|
6
6
|
@deploy_file = File.expand_path(File.dirname(__FILE__) + '/../fixtures/jira/deploy.yml')
|
7
|
-
@bad_deploy_file = File.expand_path(File.dirname(__FILE__) + '/../fixtures/jira/bad_deploy.yml')
|
8
|
-
@
|
7
|
+
@bad_deploy_file = File.expand_path(File.dirname(__FILE__) + '/../fixtures/jira/bad_deploy.yml')
|
8
|
+
@jdep = UcbDeployer::JiraDeployer.new(@deploy_file)
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def test_build_dir()
|
12
12
|
"#{TEST_BUILD_DIR}/jira"
|
13
13
|
end
|
14
|
-
|
15
|
-
|
16
|
-
describe "
|
14
|
+
|
15
|
+
|
16
|
+
describe "configure()" do
|
17
17
|
it "should load configuration options" do
|
18
|
-
@
|
19
|
-
@
|
20
|
-
@
|
21
|
-
@
|
18
|
+
@jdep.build_dir.should == "/path/to/build_dir/jira"
|
19
|
+
@jdep.deploy_dir.should == "/path/to/deploy_dir"
|
20
|
+
@jdep.war_name.should == "war_name"
|
21
|
+
@jdep.svn_project_url.should == "svn+ssh://svn@code.berkeley.edu/istas/jira_archives/tags"
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should raise error for invalid config options" do
|
25
|
-
lambda { @
|
25
|
+
lambda { @jdep.load_config(@bad_deploy_file) }.should raise_error(UcbDeployer::ConfigError)
|
26
26
|
end
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
describe "#config_web_xml" do
|
27
|
+
|
31
28
|
it "should configure souldwing (CAS auth) in web.xml" do
|
32
|
-
@
|
29
|
+
@jdep.build_dir = test_build_dir
|
33
30
|
# just checking if spec_helper did the right
|
34
|
-
File.exists?(@
|
31
|
+
File.exists?(@jdep.web_xml).should be_true
|
35
32
|
|
36
|
-
@
|
37
|
-
File.exists?(@
|
38
|
-
lines = File.readlines(@
|
33
|
+
@jdep.configure()
|
34
|
+
File.exists?(@jdep.web_xml).should be_true
|
35
|
+
lines = File.readlines(@jdep.web_xml)
|
39
36
|
lines.grep(/<\?xml version="1\.0"\?>/).should be_true
|
40
37
|
lines.grep(/^<web-app /).should be_true
|
41
|
-
lines.grep(/#{@
|
42
|
-
lines.grep(/#{@
|
43
|
-
lines.grep(/<\/web-app>/).should be_true
|
38
|
+
lines.grep(/#{@jdep.cas_server_url}/).should have(1).record
|
39
|
+
lines.grep(/#{@jdep.cas_service_url}/).should have(1).record
|
40
|
+
lines.grep(/<\/web-app>/).should be_true
|
44
41
|
end
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
describe "#config_seraph_config_xml" do
|
42
|
+
|
49
43
|
it "should configure the soulwing (CAS) authenticator in seraph_config.xml" do
|
50
|
-
@
|
44
|
+
@jdep.build_dir = test_build_dir
|
51
45
|
# just checking if spec_helper did the right
|
52
|
-
File.exists?(@
|
46
|
+
File.exists?(@jdep.seraph_config_xml).should be_true
|
53
47
|
|
54
|
-
@
|
55
|
-
File.exists?(@
|
56
|
-
lines = File.readlines(@
|
48
|
+
@jdep.configure()
|
49
|
+
File.exists?(@jdep.seraph_config_xml).should be_true
|
50
|
+
lines = File.readlines(@jdep.seraph_config_xml)
|
57
51
|
lines.grep(/<security-config>/).should be_true
|
58
|
-
lines.grep(/#{Regexp.quote(@
|
59
|
-
lines.grep(/#{Regexp.quote(@
|
60
|
-
lines.grep(/<\/security-config>/).should be_true
|
52
|
+
lines.grep(/#{Regexp.quote(@jdep.cas_authenticator_class)}/).should have(1).record
|
53
|
+
lines.grep(/#{Regexp.quote(@jdep.cas_server_url)}\/logout/).should have(1).record
|
54
|
+
lines.grep(/<\/security-config>/).should be_true
|
61
55
|
end
|
62
|
-
end
|
63
|
-
|
64
56
|
|
65
|
-
describe "#config_entityengine_xml" do
|
66
57
|
it "should configure the postgres72 db option in entityengine.xml" do
|
67
|
-
@
|
58
|
+
@jdep.build_dir = test_build_dir
|
68
59
|
# just checking if spec_helper did the right
|
69
|
-
File.exists?(@
|
60
|
+
File.exists?(@jdep.entityengine_xml).should be_true
|
70
61
|
|
71
|
-
@
|
72
|
-
File.exists?(@
|
73
|
-
lines = File.readlines(@
|
62
|
+
@jdep.configure()
|
63
|
+
File.exists?(@jdep.entityengine_xml).should be_true
|
64
|
+
lines = File.readlines(@jdep.entityengine_xml)
|
74
65
|
lines.any? { |l| l =~ /<entity-config>/ }.should be_true
|
75
|
-
lines.any? { |l| l =~ /#{Regexp.quote(@
|
76
|
-
lines.any? { |l| l =~ /#{Regexp.quote(@
|
77
|
-
lines.any? { |l| l =~ /<\/entity-config>/ }.should be_true
|
66
|
+
lines.any? { |l| l =~ /#{Regexp.quote(@jdep.entityengine_db)}/ }.should be_true
|
67
|
+
lines.any? { |l| l =~ /#{Regexp.quote(@jdep.entityengine_schema)}/ }.should be_true
|
68
|
+
lines.any? { |l| l =~ /<\/entity-config>/ }.should be_true
|
78
69
|
end
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
70
|
+
|
71
|
+
context "jira-application.properties file" do
|
72
|
+
it "should configure jira.home" do
|
73
|
+
@jdep.build_dir = test_build_dir()
|
74
|
+
# just checking if spec_helper did the right
|
75
|
+
File.exists?(@jdep.jira_application_properties).should be_true
|
76
|
+
|
77
|
+
@jdep.configure()
|
78
|
+
File.exists?(@jdep.jira_application_properties).should be_true
|
79
|
+
lines = File.readlines(@jdep.jira_application_properties)
|
80
|
+
lines.any? { |l| l =~ /# JIRA HOME/ }.should be_true
|
81
|
+
lines.any? { |l| l =~ /# JIRA SECURITY SETTINGS/ }.should be_true
|
82
|
+
lines.any? { |l| l =~ /#{Regexp.quote(@jdep.jira_home_token + ' ' + @jdep.data_dir)}/ }.should be_true
|
83
|
+
lines.any? { |l| l =~ /# NOTES FOR DEVELOPERS/ }.should be_true
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should configure jira.projectkey.pattern" do
|
87
|
+
@jdep.build_dir = test_build_dir()
|
88
|
+
# just checking if spec_helper did the right
|
89
|
+
File.exists?(@jdep.jira_application_properties()).should be_true
|
90
|
+
|
91
|
+
@jdep.configure()
|
92
|
+
File.exists?(@jdep.jira_application_properties).should be_true
|
93
|
+
lines = File.readlines(@jdep.jira_application_properties)
|
94
|
+
lines.any? { |l| l =~ /# JIRA HOME/ }.should be_true
|
95
|
+
lines.any? { |l| l =~ /# JIRA SECURITY SETTINGS/ }.should be_true
|
96
|
+
lines.any? { |l| l =~ /#{Regexp.quote(@jdep.jira_projectkey_token() + ' ' + "([A-Z][A-Z0-9]+)")}/ }.should be_true
|
97
|
+
lines.any? { |l| l =~ /# NOTES FOR DEVELOPERS/ }.should be_true
|
98
|
+
end
|
94
99
|
end
|
95
|
-
|
96
|
-
|
97
|
-
describe "#config_ist_banner" do
|
100
|
+
|
98
101
|
it "should place ist_banner.jpg in webapps" do
|
99
|
-
@
|
100
|
-
@
|
101
|
-
File.exists?("#{@
|
102
|
+
@jdep.build_dir = test_build_dir()
|
103
|
+
@jdep.configure()
|
104
|
+
File.exists?("#{@jdep.build_dir}/src/webapp/images/ist_banner.jpg").should be_true
|
102
105
|
end
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
@
|
108
|
-
@cdep.reshuffle_jars()
|
109
|
-
Dir["#{@cdep.build_dir}/src/edit-webapp/WEB-INF/lib/soulwing-casclient-*"].should_not be_empty
|
106
|
+
|
107
|
+
it "should reshuffle jar files" do
|
108
|
+
@jdep.build_dir = test_build_dir()
|
109
|
+
@jdep.configure()
|
110
|
+
Dir["#{@jdep.build_dir}/src/edit-webapp/WEB-INF/lib/soulwing-casclient-*"].should_not be_empty
|
110
111
|
["activation", "javamail", "commons-logging", "log4j"].each do |lib|
|
111
|
-
Dir["#{@
|
112
|
+
Dir["#{@jdep.build_dir}/src/edit-webapp/WEB-INF/lib/#{lib}-*"].should be_empty
|
112
113
|
end
|
113
114
|
end
|
114
115
|
end
|
115
116
|
|
116
|
-
|
117
117
|
describe "#build" do
|
118
|
-
it "should
|
119
|
-
@
|
120
|
-
@
|
121
|
-
@
|
118
|
+
it "should build the the war" do
|
119
|
+
@jdep.build_dir = test_build_dir()
|
120
|
+
@jdep.should_receive("`").with("sh #{@jdep.build_dir}/src/build.sh")
|
121
|
+
@jdep.build()
|
122
122
|
end
|
123
123
|
end
|
124
|
-
|
125
124
|
|
126
125
|
describe "#export" do
|
127
|
-
it "should
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
arg = "svn export
|
132
|
-
|
126
|
+
it "should export the code from svn" do
|
127
|
+
jdep = UcbDeployer::JiraDeployer.new(@deploy_file)
|
128
|
+
jdep.build_dir = test_build_dir()
|
129
|
+
jdep.version = "3.2.1_01"
|
130
|
+
arg = "svn export #{jdep.svn_project_url}/jira-#{jdep.version}"
|
131
|
+
jdep.should_receive("`").with(arg).and_return(nil)
|
133
132
|
FileUtils.should_receive("mv")
|
134
|
-
|
133
|
+
jdep.export()
|
135
134
|
end
|
136
135
|
end
|
137
136
|
end
|
data/ucb_deployer.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.rdoc_options = ["--main", "README.md"]
|
17
17
|
s.rubyforge_project = "ucb_deployer"
|
18
18
|
|
19
|
-
s.files = `
|
19
|
+
s.files = `git ls-files`.split("\n")
|
20
20
|
s.test_files = Dir["spec/**/**"]
|
21
21
|
s.executables = ["ucb_deploy"]
|
22
22
|
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: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 0.4.5
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Steven Hansen
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-12-01 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rake
|
@@ -107,22 +107,22 @@ extensions: []
|
|
107
107
|
extra_rdoc_files:
|
108
108
|
- README.md
|
109
109
|
files:
|
110
|
-
- .
|
110
|
+
- .gitignore
|
111
111
|
- Gemfile
|
112
112
|
- Gemfile.lock
|
113
113
|
- README.md
|
114
114
|
- Rakefile
|
115
115
|
- TODO.md
|
116
116
|
- bin/ucb_deploy
|
117
|
+
- lib/ucb_deployer.rb
|
117
118
|
- lib/ucb_deployer/confluence_deployer.rb
|
118
119
|
- lib/ucb_deployer/deployer.rb
|
119
120
|
- lib/ucb_deployer/jira_deployer.rb
|
120
121
|
- lib/ucb_deployer/version.rb
|
121
|
-
- lib/ucb_deployer.rb
|
122
122
|
- resources/confluence_cas_web.xml
|
123
123
|
- resources/ist_banner.jpg
|
124
124
|
- resources/jira_cas_web.xml
|
125
|
-
- resources/soulwing-casclient-0.
|
125
|
+
- resources/soulwing-casclient-0.6-patched.jar
|
126
126
|
- resources/xwork.xml
|
127
127
|
- spec/fixtures/confluence/bad_deploy.yml
|
128
128
|
- spec/fixtures/confluence/confluence-init.properties
|
Binary file
|