halfday 0.0.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +0 -2
- data/LICENSE.md +8 -0
- data/README.md +101 -15
- data/halfday.gemspec +11 -6
- data/lib/halfday/capistrano.rb +57 -0
- data/lib/halfday/foreman/capistrano.rb +42 -0
- data/lib/halfday/foreman/upstart/process.conf.erb +5 -0
- data/lib/halfday/git/capistrano.rb +21 -0
- data/lib/halfday/helpers/cset.rb +12 -0
- data/lib/halfday/helpers/require_recipe.rb +7 -0
- data/lib/halfday/nginx/capistrano.rb +21 -0
- data/lib/halfday/nginx/templates/app.conf +13 -0
- data/lib/halfday/rvm/capistrano.rb +15 -0
- data/lib/halfday/setup/capistrano.rb +14 -0
- data/lib/halfday/version.rb +1 -1
- data/lib/halfday/whenever/capistrano.rb +14 -0
- data/lib/halfday/yard/capistrano.rb +19 -0
- data/lib/halfday.rb +1 -1
- metadata +71 -28
- data/LICENSE.txt +0 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a22890d56d8fd9f4b8f92205cb1447116fb813cf
|
4
|
+
data.tar.gz: 3f4527bbbbd562668e1382450524767d295c07f2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3049df5e6923dbab805760d2ce9fa52b6cf3c6b11442b2027f02592b5103f9ccda84ed7d349a03468f9685c5c9f4a00bfeb2cfae890c37a929334f2b37df25f7
|
7
|
+
data.tar.gz: 0e5e9ff7c4d10ce511c7b83814baff29423d38a3ef58953a80f403d6477f1c39a538abc90b461bff0ee0ff5fb296440fdcaa040654878d72284bbb26487ff263
|
data/Gemfile
CHANGED
data/LICENSE.md
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
Copyright (c) 2013, Mirego All rights reserved.
|
2
|
+
|
3
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
|
+
|
5
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
6
|
+
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
7
|
+
Neither the name of the Mirego nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
8
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
CHANGED
@@ -1,29 +1,115 @@
|
|
1
1
|
# Halfday
|
2
2
|
|
3
|
-
|
3
|
+
This gem adds some recipes for Capistrano.
|
4
|
+
|
5
|
+
*__Warning:__ It is not recommended to use this gem as is since you need your server to be configured in a very specific way. Extract what you need or fork it to make it compliant with your setup.*
|
4
6
|
|
5
7
|
## Installation
|
6
8
|
|
7
|
-
Add this line to your
|
9
|
+
Add this line to your applicationns `Gemfile`:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'halfday', require: false
|
13
|
+
```
|
8
14
|
|
9
|
-
|
15
|
+
## Usage
|
10
16
|
|
11
|
-
|
17
|
+
Add those lines to your application’s `Capfile`:
|
12
18
|
|
13
|
-
|
19
|
+
```ruby
|
20
|
+
set :application, 'YOUR APPLICATION NAME'
|
21
|
+
set :repository, 'YOUR GIT REPOSITORY'
|
14
22
|
|
15
|
-
|
23
|
+
require 'halfday'
|
24
|
+
```
|
16
25
|
|
17
|
-
|
26
|
+
### Defining your environments
|
18
27
|
|
19
|
-
|
28
|
+
You still need to define every environments in `config/deploy/`.
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
# config/deploy/staging.rb
|
32
|
+
|
33
|
+
role :app, 'HOSTNAME', primary: true
|
34
|
+
role :web, 'HOSTNAME', primary: true
|
35
|
+
role :db, 'HOSTNAME', primary: true
|
36
|
+
|
37
|
+
set :default_tag, '0.2.4' # Branch or Tag
|
38
|
+
```
|
39
|
+
|
40
|
+
## Available recipes
|
41
|
+
|
42
|
+
For now, all those recipes will be used on deployment if their Gem is included in your `Gemfile`.
|
43
|
+
|
44
|
+
### Branch deployment
|
45
|
+
|
46
|
+
On deployment, you’ll be ask to specify the `branch` or `tag` you want to deploy. If you hit `Enter`, the `default_tag` will be used. You can also enter `HEAD` to use the branch you’re currently on.
|
47
|
+
|
48
|
+
```bash
|
49
|
+
$ cap staging deploy
|
50
|
+
|
51
|
+
* 2013-06-20 14:02:53 executing `staging'
|
52
|
+
* 2013-06-20 14:02:53 executing `deploy'
|
53
|
+
* 2013-06-20 14:02:53 executing `deploy:update'
|
54
|
+
** transaction: start
|
55
|
+
* 2013-06-20 14:02:53 executing `deploy:update_code'
|
56
|
+
|
57
|
+
Tag or branch to deploy: [0.2.4]
|
58
|
+
```
|
59
|
+
|
60
|
+
### Dotenv
|
61
|
+
|
62
|
+
[Dotenv](https://github.com/bkeepers/dotenv) is included as well in those recipes, if included in your project, it will automatically *symlink* `/opt/app/shared/.env` into `/opt/app/current` on deployment.
|
63
|
+
|
64
|
+
### Foreman
|
65
|
+
|
66
|
+
```bash
|
67
|
+
cap foreman:restart # Restart your app
|
68
|
+
cap foreman:start # Start your app
|
69
|
+
cap foreman:stop # Stop your app
|
70
|
+
cap foreman:export # Export upstart script to /etc/init/
|
71
|
+
```
|
72
|
+
|
73
|
+
### Git
|
74
|
+
|
75
|
+
```bash
|
76
|
+
cap git:clean # Remove .git
|
77
|
+
cap git:init_submodules # Initialize Git submodule
|
78
|
+
```
|
79
|
+
|
80
|
+
### RVM
|
81
|
+
|
82
|
+
If you’re using [RVM](https://rvm.io/) on your server, it’ll automatically use the Ruby version written in your `.ruby-version` file.
|
83
|
+
|
84
|
+
### Whenever
|
85
|
+
|
86
|
+
If your project includes [Whenever](https://github.com/javan/whenever), the crontab will be updated automatically in a callback.
|
87
|
+
|
88
|
+
### Yard
|
89
|
+
|
90
|
+
```bash
|
91
|
+
cap yard:generate # Generate your doc and make it available
|
92
|
+
# in http://.../doc
|
93
|
+
```
|
94
|
+
|
95
|
+
## Todo
|
96
|
+
|
97
|
+
* ~~Add a more flexible way to manage which recipes should be applied.~~
|
98
|
+
* Add Rails generator for the Capfile.
|
99
|
+
* Remove dependancy from Rails.
|
100
|
+
* More recipes, always.
|
101
|
+
|
102
|
+
## License
|
20
103
|
|
21
|
-
|
104
|
+
`Halfday` is © 2013 [Mirego](http://www.mirego.com) and may be freely distributed under the [New BSD license](http://opensource.org/licenses/BSD-3-Clause). See the [`LICENSE.md`](https://github.com/mirego/active_model_serializers_validator/blob/master/LICENSE.md) file.
|
22
105
|
|
23
|
-
##
|
106
|
+
## About Mirego
|
24
107
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
108
|
+
Mirego is a team of passionate people who believe that work is a place where you can innovate and have fun.
|
109
|
+
We proudly built mobile applications for
|
110
|
+
[iPhone](http://mirego.com/en/iphone-app-development/ "iPhone application development"),
|
111
|
+
[iPad](http://mirego.com/en/ipad-app-development/ "iPad application development"),
|
112
|
+
[Android](http://mirego.com/en/android-app-development/ "Android application development"),
|
113
|
+
[Blackberry](http://mirego.com/en/blackberry-app-development/ "Blackberry application development"),
|
114
|
+
[Windows Phone](http://mirego.com/en/windows-phone-app-development/ "Windows Phone application development") and
|
115
|
+
[Windows 8](http://mirego.com/en/windows-8-app-development/ "Windows 8 application development").
|
data/halfday.gemspec
CHANGED
@@ -6,12 +6,12 @@ require 'halfday/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "halfday"
|
8
8
|
spec.version = Halfday::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
11
|
-
spec.description =
|
12
|
-
spec.summary =
|
13
|
-
spec.homepage = ""
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ["Samuel Garneau"]
|
10
|
+
spec.email = ["sgarneau@mirego.com"]
|
11
|
+
spec.description = %q{Collection of Capistrano recipes - Deploy. Then, take a halfday.}
|
12
|
+
spec.summary = %q{Collection of Capistrano recipes - Deploy. Then, take a halfday.}
|
13
|
+
spec.homepage = "https://github.com/mirego/halfday"
|
14
|
+
spec.license = 'BSD 3-Clause'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -20,4 +20,9 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
+
|
24
|
+
spec.add_dependency "capistrano"
|
25
|
+
spec.add_dependency "capistrano-ext"
|
26
|
+
|
27
|
+
spec.add_dependency "foreman"
|
23
28
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'halfday/helpers/cset'
|
2
|
+
require 'halfday/helpers/require_recipe'
|
3
|
+
|
4
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
5
|
+
# Stages
|
6
|
+
# Load 3rd party recipes
|
7
|
+
require_recipe "bundler/capistrano"
|
8
|
+
require_recipe 'dotenv/capistrano'
|
9
|
+
|
10
|
+
require 'capistrano/ext/multistage'
|
11
|
+
|
12
|
+
load 'deploy' if respond_to?(:namespace)
|
13
|
+
load 'deploy/assets'
|
14
|
+
|
15
|
+
# Load recipes
|
16
|
+
_cset :ignored_recipes, []
|
17
|
+
|
18
|
+
[:foreman, :git, :yard, :whenever, :rvm, :setup, :nginx].each do |mod|
|
19
|
+
require "halfday/#{mod}/capistrano" unless ignored_recipes.include?(mod)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Callbacks
|
23
|
+
after 'deploy', 'deploy:cleanup'
|
24
|
+
after 'deploy:update_code', 'deploy:migrate'
|
25
|
+
|
26
|
+
# Bundler
|
27
|
+
set :bundle_without, [:test]
|
28
|
+
_cset :bundle_cmd, "bundle"
|
29
|
+
|
30
|
+
# Deploy
|
31
|
+
_cset :deploy_to, "/opt/#{application}"
|
32
|
+
|
33
|
+
set :scm, :git
|
34
|
+
set :keep_releases, 3
|
35
|
+
set :ssh_options, { forward_agent: true }
|
36
|
+
|
37
|
+
# User
|
38
|
+
set :use_sudo, false
|
39
|
+
set :user, :ubuntu
|
40
|
+
|
41
|
+
# Environment
|
42
|
+
#
|
43
|
+
# On all our remote server, the environment
|
44
|
+
# should be staging.
|
45
|
+
set :rails_env, Proc.new { 'staging' }
|
46
|
+
set :migrate_env, Proc.new { "RAILS_ENV=#{rails_env}" }
|
47
|
+
|
48
|
+
# Branch
|
49
|
+
set :branch do
|
50
|
+
tag = Capistrano::CLI.ui.ask "Tag or branch to deploy: [#{default_tag}] "
|
51
|
+
tag = `git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||'`.chomp if tag == 'HEAD'
|
52
|
+
|
53
|
+
(tag.empty?) ? default_tag : tag
|
54
|
+
end
|
55
|
+
|
56
|
+
default_run_options[:pty] = true
|
57
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
after 'deploy', 'foreman:export'
|
4
|
+
after 'deploy', 'foreman:restart'
|
5
|
+
|
6
|
+
namespace :foreman do
|
7
|
+
|
8
|
+
desc "Export upstart script"
|
9
|
+
task :export, roles: :app do
|
10
|
+
# Uploading process template
|
11
|
+
run "mkdir -p #{shared_path}/templates"
|
12
|
+
upload File.expand_path('../upstart/process.conf.erb', __FILE__), "#{shared_path}/templates/process.conf.erb"
|
13
|
+
|
14
|
+
# I couldn't simply use `sudo bundle exec` since
|
15
|
+
# there was an issue using RVM. It was raising
|
16
|
+
#
|
17
|
+
# no such file to load -- rubygems
|
18
|
+
#
|
19
|
+
# If you have an idea on how to fix this. Pull
|
20
|
+
# request are more than welcomed :)
|
21
|
+
#
|
22
|
+
# The fix was to write the upstart script into
|
23
|
+
# a non-restricted folder and move it right after.
|
24
|
+
run "cd #{current_path} && #{bundle_cmd} exec foreman export upstart -a #{application} -u #{user} -l #{shared_path}/log/ -t #{shared_path}/templates #{shared_path}/upstart"
|
25
|
+
sudo "mv #{shared_path}/upstart/* /etc/init/"
|
26
|
+
|
27
|
+
# Cleaning up this mess
|
28
|
+
run "rm -rf #{shared_path}/upstart"
|
29
|
+
run "rm -rf #{shared_path}/templates"
|
30
|
+
end
|
31
|
+
|
32
|
+
[:start, :stop, :restart].each do |action|
|
33
|
+
desc "#{action.to_s.capitalize} application"
|
34
|
+
task action, roles: :app do
|
35
|
+
sudo "service #{application} #{action}"
|
36
|
+
end
|
37
|
+
|
38
|
+
before "foreman:#{action}", 'foreman:export'
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
before 'bundle:install', 'git:init_submodules'
|
4
|
+
after 'deploy', 'git:clean'
|
5
|
+
|
6
|
+
namespace :git do
|
7
|
+
|
8
|
+
desc "Update git submodules"
|
9
|
+
task :init_submodules, roles: :app do
|
10
|
+
run "cd #{release_path} && git submodule init --quiet"
|
11
|
+
run "cd #{release_path} && git submodule update --quiet"
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Remove git crumbles"
|
15
|
+
task :clean, roles: :app do
|
16
|
+
run "rm -fr `find #{deploy_to}/releases -iname \".git*\"`"
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# _cset is a method from the original
|
2
|
+
# Capistrano code.
|
3
|
+
#
|
4
|
+
# https://github.com/capistrano/capistrano/blob/cb38c68bf9ec079590e6124728a1027668914f68/lib/capistrano/recipes/deploy.rb#L5
|
5
|
+
#
|
6
|
+
# It wasn't accessible through this gem
|
7
|
+
# so I had to copy it there.
|
8
|
+
def _cset(name, *args, &block)
|
9
|
+
unless exists?(name)
|
10
|
+
set(name, *args, &block)
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
after 'deploy:create_symlink', 'nginx:configure'
|
4
|
+
|
5
|
+
namespace :nginx do
|
6
|
+
|
7
|
+
desc 'Add app configuration for Mirego infrastructure'
|
8
|
+
task :configure, roles: :app do
|
9
|
+
if %w{ci qa staging}.include?(rails_env)
|
10
|
+
conf_path = "/etc/nginx/apps.conf.d/#{application}.conf"
|
11
|
+
|
12
|
+
upload File.expand_path('../templates/app.conf', __FILE__), conf_path
|
13
|
+
|
14
|
+
run "sed -i #{conf_path} -e s/\\\\[APPLICATION\\\\]/#{application}/g"
|
15
|
+
run "source #{current_path}/.env && sed -i #{conf_path} -e s/\\\\[PORT\\\\]/$PORT/g"
|
16
|
+
run "sudo service nginx reload"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'rvm/capistrano'
|
5
|
+
|
6
|
+
_cset :rvm_ruby_string, :release_path
|
7
|
+
|
8
|
+
# Make sure that the bash_profile is sourced
|
9
|
+
# before running bundle command.
|
10
|
+
set :bundle_cmd, 'source $HOME/.bash_profile && bundle'
|
11
|
+
rescue LoadError
|
12
|
+
puts "WARNING: RVM is not part of the application"
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
before 'deploy:setup', 'setup:create_directory'
|
4
|
+
|
5
|
+
namespace :setup do
|
6
|
+
|
7
|
+
desc "Create app directory"
|
8
|
+
task :create_directory, roles: :app do
|
9
|
+
run "sudo mkdir -p #{deploy_to} && sudo chown ubuntu:ubuntu #{deploy_to}"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
data/lib/halfday/version.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'whenever/capistrano'
|
5
|
+
|
6
|
+
after 'bundle:install', 'whenever:update_crontab'
|
7
|
+
|
8
|
+
set :whenever_environment, defer { rails_env }
|
9
|
+
set :whenever_command, "bundle exec whenever"
|
10
|
+
rescue LoadError
|
11
|
+
puts "WARNING: Whenever is not part of the application"
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
|
3
|
+
if defined?(Yard)
|
4
|
+
after 'deploy:create_symlink', 'yard:generate'
|
5
|
+
|
6
|
+
namespace :yard do
|
7
|
+
|
8
|
+
desc "Update the documentation alone before a release`"
|
9
|
+
task :generate, roles: :app do
|
10
|
+
# Build the documentation for the application and make it public
|
11
|
+
run "mkdir #{current_path}/doc"
|
12
|
+
run "cd #{current_path} && #{bundle_cmd} exec yard doc RAILS_ENV=#{stage}"
|
13
|
+
run "mv #{current_path}/doc #{current_path}/public/doc"
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/lib/halfday.rb
CHANGED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: halfday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
|
-
-
|
7
|
+
- Samuel Garneau
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,63 +27,109 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
|
-
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: capistrano
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: capistrano-ext
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: foreman
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: Collection of Capistrano recipes - Deploy. Then, take a halfday.
|
47
84
|
email:
|
48
|
-
-
|
85
|
+
- sgarneau@mirego.com
|
49
86
|
executables: []
|
50
87
|
extensions: []
|
51
88
|
extra_rdoc_files: []
|
52
89
|
files:
|
53
90
|
- .gitignore
|
54
91
|
- Gemfile
|
55
|
-
- LICENSE.
|
92
|
+
- LICENSE.md
|
56
93
|
- README.md
|
57
94
|
- Rakefile
|
58
95
|
- halfday.gemspec
|
59
96
|
- lib/halfday.rb
|
97
|
+
- lib/halfday/capistrano.rb
|
98
|
+
- lib/halfday/foreman/capistrano.rb
|
99
|
+
- lib/halfday/foreman/upstart/process.conf.erb
|
100
|
+
- lib/halfday/git/capistrano.rb
|
101
|
+
- lib/halfday/helpers/cset.rb
|
102
|
+
- lib/halfday/helpers/require_recipe.rb
|
103
|
+
- lib/halfday/nginx/capistrano.rb
|
104
|
+
- lib/halfday/nginx/templates/app.conf
|
105
|
+
- lib/halfday/rvm/capistrano.rb
|
106
|
+
- lib/halfday/setup/capistrano.rb
|
60
107
|
- lib/halfday/version.rb
|
61
|
-
|
108
|
+
- lib/halfday/whenever/capistrano.rb
|
109
|
+
- lib/halfday/yard/capistrano.rb
|
110
|
+
homepage: https://github.com/mirego/halfday
|
62
111
|
licenses:
|
63
|
-
-
|
112
|
+
- BSD 3-Clause
|
113
|
+
metadata: {}
|
64
114
|
post_install_message:
|
65
115
|
rdoc_options: []
|
66
116
|
require_paths:
|
67
117
|
- lib
|
68
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
119
|
requirements:
|
71
|
-
- -
|
120
|
+
- - '>='
|
72
121
|
- !ruby/object:Gem::Version
|
73
122
|
version: '0'
|
74
|
-
segments:
|
75
|
-
- 0
|
76
|
-
hash: -1669050678196599340
|
77
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
124
|
requirements:
|
80
|
-
- -
|
125
|
+
- - '>='
|
81
126
|
- !ruby/object:Gem::Version
|
82
127
|
version: '0'
|
83
|
-
segments:
|
84
|
-
- 0
|
85
|
-
hash: -1669050678196599340
|
86
128
|
requirements: []
|
87
129
|
rubyforge_project:
|
88
|
-
rubygems_version:
|
130
|
+
rubygems_version: 2.0.0
|
89
131
|
signing_key:
|
90
|
-
specification_version:
|
91
|
-
summary:
|
132
|
+
specification_version: 4
|
133
|
+
summary: Collection of Capistrano recipes - Deploy. Then, take a halfday.
|
92
134
|
test_files: []
|
135
|
+
has_rdoc:
|
data/LICENSE.txt
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
Copyright (c) 2013 Rémi Prévost
|
2
|
-
|
3
|
-
MIT License
|
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.
|