rigup 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +23 -0
- data/README.md +48 -1
- data/lib/rigup/runability.rb +2 -0
- data/lib/rigup/version.rb +1 -1
- data/rigup.gemspec +1 -1
- data/rigup.iml +3 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bd213b9441445c62e0fc69fba5161efcc6800f0
|
4
|
+
data.tar.gz: bb70b3a65e78ccdf4d8d4dba82e0867eb8522517
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e20c19f4cde6aa31c0ca561f4f8c1c9d43df640704a95c9c32bde372fafad017c0230de67a42efaecc348c6de6b978d381cca63218e3e054513375d63a33a25
|
7
|
+
data.tar.gz: ad3230ac2d49a3c150a0c44afada8eaad68410890c2bbe7dca6789055dea0eb556b225a703a9a9f036ebdb7a32c9ccdad86ce8fbcde5f3fce2c77817a46c8105
|
data/LICENSE
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Copyright (c) 2014 Gary McGhee - Buzzware Solutions, Western Australia - gary@buzzware.com.au
|
2
|
+
|
3
|
+
MIT Licence
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
|
data/README.md
CHANGED
@@ -1 +1,48 @@
|
|
1
|
-
|
1
|
+
# Rigup Deployment Tool
|
2
|
+
|
3
|
+
Rigup (as in to set up) is a tool inspired by Capistrano and Inploy (https://github.com/dcrec1/inploy) with some original ideas for deploying web applications.
|
4
|
+
|
5
|
+
* Is a command line tool using Ruby and Thor (https://github.com/erikhuda/thor).
|
6
|
+
* It borrows the folder structure and naming of things from Capistrano
|
7
|
+
* However, like Inploy it executes on the destination server, and pulls code from a git repository
|
8
|
+
* rigup.yml files are not kept in version control, but contain deployment values for branch, commit etc.
|
9
|
+
* The top level site folder rigup.yml is automatically generated and may be edited to specify options for what should be deployed below
|
10
|
+
* A copy of the top level rigup.yml is copied into each release folder so you have a record of what was released and installed there.
|
11
|
+
* It separates delivering of files from installing, configuring and launching the application. This solves several problems. eg. you can't logically
|
12
|
+
configure what branch to install, in a file that is itself on a branch in the repository
|
13
|
+
* Installation, configuration, restart etc are performed by calling arbitrary specified script(s). This script may be written in any language and can be included in the application repository. Thor (https://github.com/erikhuda/thor) is recommended as a default.
|
14
|
+
|
15
|
+
## Terms
|
16
|
+
|
17
|
+
**Deploy:** the complete process, including updating the cache, creating a release, installing it, making it live, restarting the web server etc.
|
18
|
+
|
19
|
+
**Install:** like a desktop application installer - modify repository files as required to run the application
|
20
|
+
|
21
|
+
**Restart:** full restart of web server in order to reload configuration changes caused by deployment
|
22
|
+
|
23
|
+
**Block:** show maintenance page while system is under maintenance
|
24
|
+
|
25
|
+
**Unblock:** remove maintenance page if present
|
26
|
+
|
27
|
+
**Stage:** defaults to "live" but could be "staging", "test", "dev" etc. Used to differentiate between different kinds of installs
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
Setup inspired by git :
|
32
|
+
|
33
|
+
\> rigup new https://myco@bitbucket.org/myco/website.git myco-website
|
34
|
+
|
35
|
+
* Eventually this will support options for specifiying branch, commit, stage etc
|
36
|
+
* Creates folder structure like Capistrano under myco-website folder
|
37
|
+
* Creates rigup.yml specifying repository, branch, commit, stage etc and commands to execute for install, block, restart and unblock.
|
38
|
+
|
39
|
+
\> rigup deploy myco-website
|
40
|
+
|
41
|
+
* Creates or updates cache of git@bitbucket.org:myco/website.git according to options and rigup.yml
|
42
|
+
* Creates release timestamp folder under releases/ containing contents of cache (without .git folder) and copy of rigup.yml specifiying the repo, branch, commit etc within
|
43
|
+
* Calls install command
|
44
|
+
* Calls block command
|
45
|
+
* Updates symbolic link "current" to point to latest release
|
46
|
+
* Calls restart command
|
47
|
+
* Calls unblock command
|
48
|
+
* Cleans up old release folders
|
data/lib/rigup/runability.rb
CHANGED
@@ -32,6 +32,8 @@ module Rigup
|
|
32
32
|
aOptions ||= {}
|
33
33
|
@context.logger.debug aCommand
|
34
34
|
response,errout = bash.execute(aCommand,stdout: STDOUT) # ::POpen4::shell(aCommand,aDir || @context.pwd)
|
35
|
+
@context.logger.debug errout if errout.to_nil
|
36
|
+
@context.logger.debug response if response.to_nil
|
35
37
|
raise "Command Failed" unless bash.exit_status==0 or aOptions[:raise]==false
|
36
38
|
return response
|
37
39
|
end
|
data/lib/rigup/version.rb
CHANGED
data/rigup.gemspec
CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
|
|
35
35
|
#s.add_runtime_dependency('highline')
|
36
36
|
s.add_runtime_dependency('git')
|
37
37
|
#s.add_runtime_dependency('middleman')
|
38
|
-
s.add_runtime_dependency
|
38
|
+
s.add_runtime_dependency 'buzztools', '~>0.0.6'
|
39
39
|
#s.add_runtime_dependency('POpen4')
|
40
40
|
s.add_runtime_dependency('session')
|
41
41
|
# https://github.com/geemus/formatador
|
data/rigup.iml
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<module type="RUBY_MODULE" version="4">
|
3
|
+
<component name="CompassSettings">
|
4
|
+
<option name="compassSupportEnabled" value="true" />
|
5
|
+
</component>
|
3
6
|
<component name="DBNavigator.Module.ConnectionManager">
|
4
7
|
<connections />
|
5
8
|
</component>
|
@@ -11,7 +14,6 @@
|
|
11
14
|
<orderEntry type="inheritedJdk" />
|
12
15
|
<orderEntry type="sourceFolder" forTests="false" />
|
13
16
|
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.5.3, RVM: ruby-2.0.0-p247) [gem]" level="application" />
|
14
|
-
<orderEntry type="library" scope="PROVIDED" name="buzztools (v0.0.4, RVM: ruby-2.0.0-p247) [gem]" level="application" />
|
15
17
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, RVM: ruby-2.0.0-p247) [gem]" level="application" />
|
16
18
|
<orderEntry type="library" scope="PROVIDED" name="git (v1.2.6, RVM: ruby-2.0.0-p247) [gem]" level="application" />
|
17
19
|
<orderEntry type="library" scope="PROVIDED" name="rake (v10.2.0, RVM: ruby-2.0.0-p247) [gem]" level="application" />
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rigup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gary McGhee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: buzztools
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.0.6
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 0.0.6
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: session
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/rigup/svn.rb
|
130
130
|
- lib/rigup/version.rb
|
131
131
|
- lib/rigup.rb
|
132
|
+
- LICENSE
|
132
133
|
- notes.txt
|
133
134
|
- Rakefile
|
134
135
|
- README.md
|