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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 93976958d3e4fb8d72c039d7e8e2386d03db5699
4
- data.tar.gz: a35ef540e688543b45e2653d5a4052b3b6c2bb0c
3
+ metadata.gz: 2bd213b9441445c62e0fc69fba5161efcc6800f0
4
+ data.tar.gz: bb70b3a65e78ccdf4d8d4dba82e0867eb8522517
5
5
  SHA512:
6
- metadata.gz: 42e0879308c9794c7eb0a327a261c27b9c06365f804115e0af3590e2f590df67926c85fc07305f0bc5c5f66a593db93b9c35feae725cc17c65dea601160f8d3f
7
- data.tar.gz: d09e52aac08a191fb3983fcae42eff3c1c9d0dec57583a01dbb203ab70f39ef654001d4af1db3aee93f250ca29ce3c245a3ea88ab839228e1380487abd5aa84c
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
- Toolset for deployment
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Rigup
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
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('buzztools')
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
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-04-16 00:00:00.000000000 Z
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: '0'
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: '0'
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