winci 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/{README.txt → README.md} +30 -9
- data/examples/basic.rb +4 -3
- data/examples/extended.rb +4 -3
- data/examples/retrieving_info.rb +1 -0
- data/lib/winci.rb +0 -1
- data/lib/winci/version.rb +1 -1
- metadata +4 -4
data/{README.txt → README.md}
RENAMED
@@ -1,13 +1,12 @@
|
|
1
1
|
winci
|
2
2
|
======
|
3
3
|
|
4
|
-
[WinCI] Simplifies
|
4
|
+
[WinCI] Simplifies implementation of a full continuous deployment pipeline the Agile way with Jenkins/Hudson continuous integration server under Windows.
|
5
5
|
|
6
6
|
Install
|
7
7
|
=======
|
8
8
|
|
9
9
|
gem install winci
|
10
|
-
|
11
10
|
|
12
11
|
Introduction
|
13
12
|
=======
|
@@ -20,26 +19,48 @@ only then is he introduced to some configuration options.
|
|
20
19
|
|
21
20
|
WinCI is written in Ruby and uses Jenkins.rb gem to automate installation and interaction with Jenkins CI and also ruby-git gem to automate CI provisioning.
|
22
21
|
|
23
|
-
WinCI is intended to be
|
24
|
-
to setup Jenkins CI and enabling to create installation bundle used in provisioning process.
|
22
|
+
WinCI is intended to be used in conjunction with WinCI-server [https://github.com/ksob/winci-server] and WinCI-updater [https://github.com/ksob/winci-updater] projects.
|
25
23
|
|
24
|
+
WinCI-server provides functionality necessary to setup Jenkins CI and enabling to create installation bundle used in provisioning process and WinCI-updater plays huge role in the provisioning process.
|
26
25
|
|
27
26
|
Usage
|
28
27
|
=====
|
29
28
|
|
30
|
-
First
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
First setup WinCI-server [https://github.com/ksob/winci-server]
|
30
|
+
|
31
|
+
Then you can start using winci gem like this:
|
32
|
+
|
33
|
+
require 'rubygems'
|
34
|
+
require 'jenkins'
|
35
|
+
require 'winci'
|
36
|
+
|
37
|
+
project_name = 'my_project'
|
34
38
|
|
39
|
+
cfg = Jenkins::JobConfigBuilder.new(:ruby) do |c|
|
40
|
+
c.scm = "C:/repos/#{project_name}.git"
|
41
|
+
c.steps = [
|
42
|
+
# below makes sense when your Rakefile run rspec/cucumber by default
|
43
|
+
[:build_bat_step, "bundle exec rake"],
|
44
|
+
# this will send current code to production repo only after rspec/cucumber passed
|
45
|
+
[:build_bat_step, "git push c:/repos/production/#{project_name}.git HEAD:master"]
|
46
|
+
]
|
47
|
+
end
|
35
48
|
|
49
|
+
job = WinCI::Job.new project_name, cfg
|
50
|
+
|
51
|
+
# by default creates job on localhost:3010
|
52
|
+
puts job.create
|
53
|
+
|
54
|
+
For details take a look at examples directory.
|
55
|
+
Keep in mind that so far this project is mostly a wrapper for functionality contained in Jenkins.rb gem,
|
56
|
+
so if you would like to create nodes in Jenkins or create rake build steps then you should look at Jenkins.rb gem's docs or API file.
|
36
57
|
|
37
58
|
License
|
38
59
|
=======
|
39
60
|
|
40
61
|
(The MIT License)
|
41
62
|
|
42
|
-
Copyright (c) 2011 Kamil Sobieraj,
|
63
|
+
Copyright (c) 2011 Kamil Sobieraj, ksobej@gmail.com
|
43
64
|
|
44
65
|
Permission is hereby granted, free of charge, to any person obtaining
|
45
66
|
a copy of this software and associated documentation files (the
|
data/examples/basic.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'jenkins'
|
2
3
|
require 'winci'
|
3
4
|
|
@@ -6,14 +7,14 @@ project_name = 'files'
|
|
6
7
|
cfg = Jenkins::JobConfigBuilder.new(:ruby) do |c|
|
7
8
|
c.scm = "C:/repos/#{project_name}.git"
|
8
9
|
c.steps = [
|
9
|
-
|
10
|
+
# below makes sense when your Rakefile run rspec/cucumber by default
|
10
11
|
[:build_bat_step, "bundle exec rake"],
|
11
12
|
# this will send current code to production repo only after rspec/cucumber passed
|
12
|
-
[:build_bat_step, "git push c:/repos/production
|
13
|
+
[:build_bat_step, "git push c:/repos/production/#{project_name}.git HEAD:master"]
|
13
14
|
]
|
14
15
|
end
|
15
16
|
|
16
17
|
job = WinCI::Job.new project_name, cfg
|
17
18
|
|
18
19
|
# by default creates job on localhost:3010
|
19
|
-
job.create
|
20
|
+
puts job.create
|
data/examples/extended.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'jenkins'
|
2
3
|
require 'winci'
|
3
4
|
|
@@ -6,7 +7,7 @@ project_name = 'files'
|
|
6
7
|
cfg = Jenkins::JobConfigBuilder.new(:ruby) do |c|
|
7
8
|
c.scm = "C:/repos/#{project_name}.git"
|
8
9
|
c.steps = [
|
9
|
-
|
10
|
+
# in this way we can ensure that the PATH is the same as in production environment
|
10
11
|
[:build_shell_step, "export PATH=C:/Ruby/bin;\r\n" + "echo PATH is now : $PATH"],
|
11
12
|
# then we can run some installation script
|
12
13
|
[:build_bat_step, "ruby install.rb"],
|
@@ -15,10 +16,10 @@ cfg = Jenkins::JobConfigBuilder.new(:ruby) do |c|
|
|
15
16
|
# some adjustments to git before pushing
|
16
17
|
[:build_bat_step, "git config core.hidedotfiles false"],
|
17
18
|
# see basic.rb
|
18
|
-
[:build_bat_step, "git push c:/repos/production
|
19
|
+
[:build_bat_step, "git push c:/repos/production/#{project_name}.git HEAD:master"]
|
19
20
|
]
|
20
21
|
end
|
21
22
|
|
22
23
|
job = WinCI::Job.new project_name, cfg
|
23
24
|
|
24
|
-
job.create '192.168.
|
25
|
+
puts job.create '192.168.99.99', '3010'
|
data/examples/retrieving_info.rb
CHANGED
data/lib/winci.rb
CHANGED
data/lib/winci/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: winci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kamil Sobieraj
|
@@ -48,7 +48,7 @@ files:
|
|
48
48
|
- Gemfile
|
49
49
|
- History.txt
|
50
50
|
- PostInstall.txt
|
51
|
-
- README.
|
51
|
+
- README.md
|
52
52
|
- Rakefile
|
53
53
|
- examples/basic.rb
|
54
54
|
- examples/extended.rb
|