rigup 0.0.4 → 0.0.5
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.
- 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
|