capistrano-wearerequired 0.4.0.pre.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +11 -0
- data/.gitignore +2 -0
- data/Gemfile +4 -0
- data/README.md +119 -0
- data/Rakefile +1 -0
- data/capistrano-wearerequired.gemspec +26 -0
- data/lib/capistrano/wearerequired/capistrano.rb +1 -0
- data/lib/capistrano/wearerequired/composer.rb +1 -0
- data/lib/capistrano/wearerequired/slackistrano_messaging_colors.rb +63 -0
- data/lib/capistrano/wearerequired/slackistrano_messaging_extended.rb +164 -0
- data/lib/capistrano/wearerequired/tasks/capistrano.rake +10 -0
- data/lib/capistrano/wearerequired/tasks/composer.rake +9 -0
- data/lib/capistrano/wearerequired/tasks/wordpress.rake +55 -0
- data/lib/capistrano/wearerequired/version.rb +5 -0
- data/lib/capistrano/wearerequired/wordpress.rb +1 -0
- data/lib/capistrano/wearerequired.rb +12 -0
- metadata +133 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: adb958823033cdad89185e1e4f792d1394cc20ac
|
4
|
+
data.tar.gz: 98d296cd260b8fcaa481c601e10121585bd8a4b4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f8204a6e9ca09e113d190facd6c4284b110216b6c774ef1de1adffb590a977e53c45b857103b1ad1d85abaad1d9d909784cf658b8537596a3c89df3f88cbfdb7
|
7
|
+
data.tar.gz: 29c09d97ac04c65d59f27a41fd41355eb14491200044f5dd7d7914c25da5c6992f1ac174672216ba0fa6a4198584dbfafc7d34880f6dc2e5093b3ab26b051d65
|
data/.editorconfig
ADDED
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
# Capistrano::RequiredTools
|
2
|
+
|
3
|
+
A collection of tools for Capistrano.
|
4
|
+
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
1. Add this line to your application's Gemfile to install the latest stable version:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'capistrano-required_tools', :git => 'git@github.com:wearerequired/capistrano-required_tools.git', :branch => 'stable'
|
12
|
+
```
|
13
|
+
|
14
|
+
Use `:tag => 'v0.3.0'` for a specific version.
|
15
|
+
|
16
|
+
2. Execute:
|
17
|
+
|
18
|
+
```
|
19
|
+
$ bundle
|
20
|
+
```
|
21
|
+
|
22
|
+
3. Require the library in your application's Capfile:
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
require 'capistrano/required_tools'
|
26
|
+
```
|
27
|
+
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
### Colors for Slackistrano
|
32
|
+
|
33
|
+
The class `SlackistranoMessagingColors` adds colors to the deploy messages posted to Slack.
|
34
|
+
|
35
|
+
Example:
|
36
|
+
```ruby
|
37
|
+
set :slackistrano, {
|
38
|
+
klass: Capistrano::RequiredTools::SlackistranoMessagingColors,
|
39
|
+
channel: '#your-channel',
|
40
|
+
webhook: 'your-incoming-webhook-url'
|
41
|
+
}
|
42
|
+
```
|
43
|
+
|
44
|
+
### Extended Messaging for Slackistrano
|
45
|
+
|
46
|
+
The class `SlackistranoMessagingExtended` adds colors, a link to the current diff, the current revision and branch, the name of the deployer and suppresses updating messages.
|
47
|
+
|
48
|
+
Example:
|
49
|
+
```ruby
|
50
|
+
set :slackistrano, {
|
51
|
+
klass: Capistrano::RequiredTools::SlackistranoMessagingExtended,
|
52
|
+
channel: '#your-channel',
|
53
|
+
webhook: 'your-incoming-webhook-url',
|
54
|
+
icon_emoji: ':ship:',
|
55
|
+
username: 'deploybot'
|
56
|
+
}
|
57
|
+
```
|
58
|
+
|
59
|
+
See [Customizing the Messaging](https://github.com/phallstrom/slackistrano/tree/v3.1.0#customizing-the-messaging) for more information.
|
60
|
+
|
61
|
+
### Additonal tasks
|
62
|
+
|
63
|
+
To **delete all content from Composer's cache directories** run:
|
64
|
+
|
65
|
+
```
|
66
|
+
cap staging composer:clear_cache
|
67
|
+
```
|
68
|
+
|
69
|
+
To **clean up all old releases** but the last run:
|
70
|
+
|
71
|
+
```
|
72
|
+
cap staging deploy:cleanup_all
|
73
|
+
```
|
74
|
+
|
75
|
+
To **install WordPress translations** set `:wp_language` and run:
|
76
|
+
|
77
|
+
```
|
78
|
+
set :wp_languages, [
|
79
|
+
'de_DE',
|
80
|
+
'it_IT
|
81
|
+
]
|
82
|
+
|
83
|
+
cap staging wordpress:install_translations
|
84
|
+
```
|
85
|
+
|
86
|
+
To **update WordPress translations** run:
|
87
|
+
|
88
|
+
```
|
89
|
+
cap staging wordpress: update_translations
|
90
|
+
```
|
91
|
+
|
92
|
+
To **clear OPcache** of your site set `:wp_clear_opcache, true` and run:
|
93
|
+
|
94
|
+
```
|
95
|
+
cap staging wordpress:clear_opcache
|
96
|
+
```
|
97
|
+
|
98
|
+
(Requires the [WP-CLI Clear OPcache](https://packagist.org/packages/wearerequired/wp-cli-clear-opcache) plugin.)
|
99
|
+
|
100
|
+
## Changelog
|
101
|
+
|
102
|
+
### 0.4.0
|
103
|
+
|
104
|
+
* Added `wordpress:clear_opcache` task.
|
105
|
+
* Added new messaging class for Slackistrano for more informative notifications.
|
106
|
+
* Updated both messaging classes to support a custom icon (via `icon_url` or `icon_emoji`) and bot name (via `username`).
|
107
|
+
|
108
|
+
### 0.3.0
|
109
|
+
|
110
|
+
* Added `deploy:cleanup_all` task.
|
111
|
+
* Added `wordpress:install_translations` and `wordpress:update_translations` tasks.
|
112
|
+
|
113
|
+
### 0.2.0
|
114
|
+
|
115
|
+
* Added `composer:clear_cache` task.
|
116
|
+
|
117
|
+
### 0.1.0
|
118
|
+
|
119
|
+
* Initial version.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
require 'capistrano/wearerequired/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "capistrano-wearerequired"
|
8
|
+
spec.version = Capistrano::Wearerequired::VERSION
|
9
|
+
spec.description = "Capistrano::Wearerequired is a collection of recipes and tasks specialized on WordPress deployment."
|
10
|
+
spec.summary = "Recipes for Capistrano used by required gmbh"
|
11
|
+
spec.authors = ["wearerequired", "Pascal Birchler", "Ulrich Pogson", "Dominik Schilling"]
|
12
|
+
spec.email = "info@required.ch"
|
13
|
+
spec.homepage = "https://github.com/wearerequired/capistrano-wearerequired"
|
14
|
+
spec.license = "GPL-2.0+"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.required_ruby_version = ">= 2.0"
|
20
|
+
spec.add_dependency "capistrano", "~> 3.6"
|
21
|
+
spec.add_dependency "slackistrano", "~> 3.1"
|
22
|
+
spec.add_dependency "capistrano-composer", "~> 0.0.6"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.13"
|
25
|
+
spec.add_development_dependency "rake", "~> 11.0"
|
26
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
load File.expand_path('../tasks/capistrano.rake', __FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
load File.expand_path('../tasks/composer.rake', __FILE__)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'slackistrano/capistrano'
|
2
|
+
|
3
|
+
module Capistrano
|
4
|
+
module Wearerequired
|
5
|
+
class SlackistranoMessagingColors < Slackistrano::Messaging::Base
|
6
|
+
|
7
|
+
def initialize(env: nil, team: nil, channel: nil, token: nil, webhook: nil, icon_url: nil, icon_emoji: nil, username: nil)
|
8
|
+
super(env: env, team: team, channel: channel, token: token, webhook: webhook)
|
9
|
+
@icon_url = icon_url
|
10
|
+
@icon_emoji = icon_emoji
|
11
|
+
@username = username
|
12
|
+
end
|
13
|
+
|
14
|
+
def payload_for_updating
|
15
|
+
make_message(super.merge(color: '#E7E7E7'))
|
16
|
+
end
|
17
|
+
|
18
|
+
def payload_for_reverting
|
19
|
+
make_message(super.merge(color: '#E7E7E7'))
|
20
|
+
end
|
21
|
+
|
22
|
+
def payload_for_updated
|
23
|
+
make_message(super.merge(color: 'good'))
|
24
|
+
end
|
25
|
+
|
26
|
+
def payload_for_reverted
|
27
|
+
make_message(super.merge(color: 'good'))
|
28
|
+
end
|
29
|
+
|
30
|
+
def payload_for_failed
|
31
|
+
make_message(super.merge(color: 'danger'))
|
32
|
+
end
|
33
|
+
|
34
|
+
def icon_url
|
35
|
+
if @icon_url.nil?
|
36
|
+
super
|
37
|
+
else
|
38
|
+
@icon_url
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def icon_emoji
|
43
|
+
@icon_emoji
|
44
|
+
end
|
45
|
+
|
46
|
+
def username
|
47
|
+
if @username.nil?
|
48
|
+
super
|
49
|
+
else
|
50
|
+
@username
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
private ##################################################
|
55
|
+
|
56
|
+
def make_message(options={})
|
57
|
+
attachment = options.reject{|k, v| v.nil? }
|
58
|
+
{attachments: [attachment]}
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,164 @@
|
|
1
|
+
require 'slackistrano/capistrano'
|
2
|
+
|
3
|
+
module Capistrano
|
4
|
+
module Wearerequired
|
5
|
+
class SlackistranoMessagingExtended < Slackistrano::Messaging::Base
|
6
|
+
|
7
|
+
def initialize(env: nil, team: nil, channel: nil, token: nil, webhook: nil, icon_url: nil, icon_emoji: nil, username: nil)
|
8
|
+
super(env: env, team: team, channel: channel, token: token, webhook: webhook)
|
9
|
+
@icon_url = icon_url
|
10
|
+
@icon_emoji = icon_emoji
|
11
|
+
@username = username
|
12
|
+
end
|
13
|
+
|
14
|
+
# Suppress updating message.
|
15
|
+
def payload_for_updating
|
16
|
+
nil
|
17
|
+
end
|
18
|
+
|
19
|
+
# Suppress reverting message.
|
20
|
+
def payload_for_reverting
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
|
24
|
+
def payload_for_reverted
|
25
|
+
make_message(super.merge(color: 'good'))
|
26
|
+
end
|
27
|
+
|
28
|
+
def payload_for_failed
|
29
|
+
make_message(super.merge(color: 'danger'))
|
30
|
+
end
|
31
|
+
|
32
|
+
def icon_url
|
33
|
+
if @icon_url.nil?
|
34
|
+
super
|
35
|
+
else
|
36
|
+
@icon_url
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def icon_emoji
|
41
|
+
@icon_emoji
|
42
|
+
end
|
43
|
+
|
44
|
+
def username
|
45
|
+
if @username.nil?
|
46
|
+
super
|
47
|
+
else
|
48
|
+
@username
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Get current revision
|
53
|
+
def current_revision
|
54
|
+
fetch(:current_revision)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Get previous revision
|
58
|
+
def previous_revision
|
59
|
+
fetch(:previous_revision)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Get individual parts of the repo_url
|
63
|
+
def repo
|
64
|
+
repo_url.match(/(git@|https:\/\/)(?<host>([\w\.@]+))(\/|:)(?<owner>[\w,\-,\_]+)\/(?<repo>[\w,\-,\_]+)(.git){0,1}((\/){0,1})/)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Get information about the revision being deployed
|
68
|
+
def revision
|
69
|
+
if repo.nil? || current_revision.nil?
|
70
|
+
'Unknown'
|
71
|
+
else
|
72
|
+
current_revision_url
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# Get current revision URL
|
77
|
+
def current_revision_url
|
78
|
+
"<https://%{host}/%{owner}/%{repo}/%{commit}/%{revision}|%{revision_short}@%{branch}>" % {
|
79
|
+
:host => repo[:host],
|
80
|
+
:owner => repo[:owner],
|
81
|
+
:repo => repo[:repo],
|
82
|
+
:commit => 'bitbucket.org' == repo[:host] ? 'commits' : 'commit',
|
83
|
+
:revision => current_revision,
|
84
|
+
:revision_short => current_revision[0..10],
|
85
|
+
:branch => branch
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
# Get revision comparison
|
90
|
+
def revision_compare_url
|
91
|
+
"<https://%{host}/%{owner}/%{repo}/%{compare}/%{previous_revision}...%{current_revision}|%{revision_short}>" % {
|
92
|
+
:host => repo[:host],
|
93
|
+
:owner => repo[:owner],
|
94
|
+
:repo => repo[:repo],
|
95
|
+
:compare => 'bitbucket.org' == repo[:host] ? 'branches/compare' : 'compare',
|
96
|
+
:current_revision => current_revision,
|
97
|
+
:previous_revision => previous_revision,
|
98
|
+
:revision_short => previous_revision[0..7] + '...' + current_revision[0..7]
|
99
|
+
}
|
100
|
+
end
|
101
|
+
|
102
|
+
def author_icon
|
103
|
+
"https://required.com/content/themes/required-valencia/img/character-%{name}-300x300.png" % { name: deployer.downcase }
|
104
|
+
end
|
105
|
+
|
106
|
+
def author_link
|
107
|
+
"https://required.com/team/%{name}/" % { name: deployer.downcase }
|
108
|
+
end
|
109
|
+
|
110
|
+
def footer_icon
|
111
|
+
if repo.nil?
|
112
|
+
''
|
113
|
+
elsif 'bitbucket.org' == repo[:host]
|
114
|
+
'https://bitbucket.org/site/master/avatar/64/'
|
115
|
+
elsif 'gitlab.com' == repo[:host]
|
116
|
+
'https://gitlab.com/uploads/system/project/avatar/13083/logo-extra-whitespace.png'
|
117
|
+
elsif 'github.com' == repo[:host]
|
118
|
+
'https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png'
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
def footer
|
123
|
+
if repo.nil? || current_revision.nil? || previous_revision.nil?
|
124
|
+
''
|
125
|
+
else
|
126
|
+
'Diff: ' + revision_compare_url
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# More detailed updated message.
|
131
|
+
def payload_for_updated
|
132
|
+
{
|
133
|
+
attachments: [{
|
134
|
+
color: 'good',
|
135
|
+
pretext: application + ' was successfully deployed :white_check_mark:',
|
136
|
+
author_name: deployer.capitalize,
|
137
|
+
author_icon: author_icon,
|
138
|
+
author_link: author_link,
|
139
|
+
footer: footer,
|
140
|
+
footer_icon: footer_icon,
|
141
|
+
fields: [{
|
142
|
+
title: 'Environment',
|
143
|
+
value: stage.capitalize,
|
144
|
+
short: true
|
145
|
+
}, {
|
146
|
+
title: 'Revision',
|
147
|
+
value: revision,
|
148
|
+
short: true
|
149
|
+
}],
|
150
|
+
fallback: super[:text]
|
151
|
+
}]
|
152
|
+
}
|
153
|
+
end
|
154
|
+
|
155
|
+
private ##################################################
|
156
|
+
|
157
|
+
def make_message(options={})
|
158
|
+
attachment = options.reject{|k, v| v.nil? }
|
159
|
+
{attachments: [attachment]}
|
160
|
+
end
|
161
|
+
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
namespace :wordpress do
|
2
|
+
|
3
|
+
desc <<-DESC
|
4
|
+
Install WordPress translations.
|
5
|
+
DESC
|
6
|
+
task :install_translations do
|
7
|
+
next unless fetch(:wp_languages).any?
|
8
|
+
|
9
|
+
on roles(:app) do
|
10
|
+
within release_path do
|
11
|
+
fetch(:wp_languages).each do |language|
|
12
|
+
execute :wp, "core language install #{language}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
desc <<-DESC
|
19
|
+
Update WordPress translations.
|
20
|
+
DESC
|
21
|
+
task :update_translations do
|
22
|
+
next unless fetch(:wp_languages).any?
|
23
|
+
|
24
|
+
on roles(:app) do
|
25
|
+
within release_path do
|
26
|
+
execute :wp, "core language update"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
desc <<-DESC
|
32
|
+
Clear OPcache.
|
33
|
+
DESC
|
34
|
+
task :clear_opcache do
|
35
|
+
next unless fetch(:wp_clear_opcache)
|
36
|
+
|
37
|
+
on roles(:app) do
|
38
|
+
within release_path do
|
39
|
+
execute :wp, "plugin activate wp-cli-clear-opcache --quiet"
|
40
|
+
execute :wp, "opcache clear"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
after 'deploy:finishing', 'wordpress:install_translations'
|
46
|
+
after 'deploy:finishing', 'wordpress:update_translations'
|
47
|
+
after 'deploy:finishing', 'wordpress:clear_opcache'
|
48
|
+
end
|
49
|
+
|
50
|
+
namespace :load do
|
51
|
+
task :defaults do
|
52
|
+
set :wp_languages, []
|
53
|
+
set :wp_clear_opcache, false
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
load File.expand_path('../tasks/wordpress.rake', __FILE__)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "capistrano/wearerequired/version"
|
2
|
+
|
3
|
+
module Capistrano
|
4
|
+
module Wearerequired
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
require "capistrano/wearerequired/slackistrano_messaging_colors"
|
9
|
+
require "capistrano/wearerequired/slackistrano_messaging_extended"
|
10
|
+
require "capistrano/wearerequired/composer.rb"
|
11
|
+
require "capistrano/wearerequired/capistrano.rb"
|
12
|
+
require "capistrano/wearerequired/wordpress.rb"
|
metadata
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: capistrano-wearerequired
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0.pre.alpha.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- wearerequired
|
8
|
+
- Pascal Birchler
|
9
|
+
- Ulrich Pogson
|
10
|
+
- Dominik Schilling
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
date: 2017-09-15 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: capistrano
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3.6'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.6'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: slackistrano
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '3.1'
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.1'
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: capistrano-composer
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.0.6
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 0.0.6
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: bundler
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - "~>"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '1.13'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '1.13'
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: rake
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - "~>"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '11.0'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - "~>"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '11.0'
|
86
|
+
description: Capistrano::Wearerequired is a collection of recipes and tasks specialized
|
87
|
+
on WordPress deployment.
|
88
|
+
email: info@required.ch
|
89
|
+
executables: []
|
90
|
+
extensions: []
|
91
|
+
extra_rdoc_files: []
|
92
|
+
files:
|
93
|
+
- ".editorconfig"
|
94
|
+
- ".gitignore"
|
95
|
+
- Gemfile
|
96
|
+
- README.md
|
97
|
+
- Rakefile
|
98
|
+
- capistrano-wearerequired.gemspec
|
99
|
+
- lib/capistrano/wearerequired.rb
|
100
|
+
- lib/capistrano/wearerequired/capistrano.rb
|
101
|
+
- lib/capistrano/wearerequired/composer.rb
|
102
|
+
- lib/capistrano/wearerequired/slackistrano_messaging_colors.rb
|
103
|
+
- lib/capistrano/wearerequired/slackistrano_messaging_extended.rb
|
104
|
+
- lib/capistrano/wearerequired/tasks/capistrano.rake
|
105
|
+
- lib/capistrano/wearerequired/tasks/composer.rake
|
106
|
+
- lib/capistrano/wearerequired/tasks/wordpress.rake
|
107
|
+
- lib/capistrano/wearerequired/version.rb
|
108
|
+
- lib/capistrano/wearerequired/wordpress.rb
|
109
|
+
homepage: https://github.com/wearerequired/capistrano-wearerequired
|
110
|
+
licenses:
|
111
|
+
- GPL-2.0+
|
112
|
+
metadata: {}
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '2.0'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.3.1
|
127
|
+
requirements: []
|
128
|
+
rubyforge_project:
|
129
|
+
rubygems_version: 2.6.11
|
130
|
+
signing_key:
|
131
|
+
specification_version: 4
|
132
|
+
summary: Recipes for Capistrano used by required gmbh
|
133
|
+
test_files: []
|