capistrano-olympus 0.0.7 → 0.0.8

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: 52be08cd696c54e3994b29010f39cda0c1b21345
4
- data.tar.gz: 77376b0a802a5ef89819d2401c36c22af271024d
3
+ metadata.gz: f093dae2e6d03e1a095e09ce92ba2a379e7e3358
4
+ data.tar.gz: 52f18e839fe0dbdbe8090f9f0b7d4a827a3eb336
5
5
  SHA512:
6
- metadata.gz: c0bf9ee13d133aaef373cadb3813d8b01f9e1298c9b69c002d7596faf30fd23b4bc034881b6ca4cb44f6b269ca1fe061e6edb65e1fcaed39a953e275d6d6a1c3
7
- data.tar.gz: 15d5f2e4345f477d11d55558f020f69623e18f186ce0eb81e473624e2fb5a449b0ce0f445de9a47f0ead12f292ac72c3e141a813a91065eda380b6fc8210ed17
6
+ metadata.gz: c10cb591964cc732f2ba1013c4e42d5847ec0c2894eb4022536865d6c61ef75411abcc029574cd2f4d2ce324bd6e686a4778121b24452d2f05146df81f169669
7
+ data.tar.gz: 9f6737c7e12fdd434d35a3f7ce6ba46ab8618d8e8bed777602e7d690606618623171cb9f752f4b0cb9e24142f1d03b2ca54ac1cd172d77c14519a53a568ce9c9
File without changes
data/README.md CHANGED
@@ -1,54 +1,56 @@
1
1
  # Capistrano Olympus [![RubyGem version](https://img.shields.io/gem/v/capistrano-olympus.svg?style=flat-square)](https://rubygems.org/gems/capistrano-olympus)
2
2
 
3
3
  _**Capistrano Olympus** is a Ruby gem which provides a complete solution for deploying **WordPress** website easily.
4
- Build with ♥ for **WordPress developers**._
4
+ An awesome gem build with ♥ for **WordPress developers**._
5
+ ![Capistrano 3](https://img.shields.io/badge/Capistrano-3-52C1DB.svg?style=flat-square)
5
6
 
6
7
  ---
7
8
 
8
- [![Total Downloads](https://img.shields.io/packagist/dt/crewstyle/capistrano-olympus.svg?style=flat-square)](https://packagist.org/packages/crewstyle/capistrano-olympus)
9
- [![GitHub version](https://img.shields.io/github/tag/crewstyle/capistrano-olympus.svg?style=flat-square)](https://github.com/crewstyle/capistrano-olympus)
10
- ![For Olympus](https://img.shields.io/badge/for-Olympus-75cd45.svg?style=flat-square)
11
- ![For WordPress](https://img.shields.io/badge/for-WordPress-00aadc.svg?style=flat-square) -
12
- ![Capistrano 3](https://img.shields.io/badge/Capistrano-3-52C1DB.svg?style=flat-square)
9
+ ## Features
10
+
11
+ + Remote server automation tool with [**Capistrano**](http://capistranorb.com/)
12
+ + Best gem dependencies with `capistrano-file-permissions` and `colorize`
13
+ + Database update and [**wp-cli**](https://wp-cli.org/) integration
14
+ + Tasks ready for **pagespeed**, **web servers** and **varnish**
13
15
 
14
16
  ---
15
17
 
16
- **Capistrano Olympus** works especially with the [**Olympus framework**](https://github.com/crewstyle/Olympus) and [**Capistrano 3**](http://capistranorb.com/).
17
- It depends on the following Capistrano tasks to deploy a WordPress application:
18
+ ## Requirements
18
19
 
19
- + capistrano-composer: https://github.com/capistrano/composer
20
- + composer: https://github.com/fazibear/colorize
21
- + sshkit-sudo: https://github.com/kentaroi/sshkit-sudo
20
+ + [**composer**](https://github.com/capistrano/composer)
21
+ + [**colorize**](https://github.com/fazibear/colorize)
22
+ + [**file-permissions**](https://github.com/capistrano/file-permissions)
22
23
 
23
24
  ---
24
25
 
25
- ### Installation
26
+ ## Installation
26
27
 
27
- Require `capistrano-olympus` in your gem file:
28
+ You can easily install the **Capistrano Olympus** gem simply:
28
29
 
29
30
  ```
30
- # Gemfile
31
+ # In your Gemfile
31
32
  gem 'capistrano', '~> 3.4'
32
- gem 'capistrano-olympus', '~> 0.0.6'
33
+ gem 'capistrano-olympus', '~> 0.0.8'
33
34
  ```
34
35
 
35
- ### Usage
36
-
37
- Require `capistrano-olympus` in your cap file:
38
-
39
36
  ```
40
- # Capfile
37
+ # In your Capfile
41
38
  require 'capistrano/olympus'
42
39
  ```
43
40
 
44
41
  ---
45
42
 
46
- ### Settings
43
+ ## Settings
47
44
 
48
45
  All default settings are defined in the `lib/capistrano/vars/defaults.rb` file. Please, refer to it to see exactly how the defaults are set up.
49
46
  If you want to override any setting, just set it on your `app/deploy/config.rb` file.
50
47
 
51
48
  ```ruby
49
+ # [optional] Setup files and dirs to symlink, setup web user to chown
50
+ set :files, fetch(:files, ['app/config/env.php', 'app/config/salt.php', 'web/.htaccess', 'web/robots.txt'])
51
+ set :dirs, fetch(:dirs, ['web/statics/languages', 'web/statics/plugins', 'web/statics/uploads'])
52
+ set :stage_user, fetch(:stage_user, 'www-data')
53
+
52
54
  # Setup Capistrano
53
55
  set :log_level, fetch(:log_level, :debug)
54
56
  set :keep_releases, fetch(:keep_releases, 3)
@@ -60,7 +62,7 @@ set :localurl, fetch(:localurl, 'http://www.domain.tld')
60
62
 
61
63
  ---
62
64
 
63
- ### Deployment
65
+ ## Deployment process
64
66
 
65
67
  Depending on your stage files, you can deploy simply thanks to the following command line:
66
68
 
@@ -70,14 +72,21 @@ bundle exec cap production deploy
70
72
 
71
73
  ---
72
74
 
73
- ### All we need is looooooooooooove :)
75
+ ## Documentation
76
+
77
+ [To learn more about the **Olympus WordPress framework**, read the docs](https://olympus.readme.io/).
78
+ The **Olympus WordPress framework** uses [ReadMe.io](https://readme.io) which was built entirely on Open Source projects.
79
+
80
+ ---
81
+
82
+ ## All we need is looooooooooooove :)
74
83
 
75
84
  [![Salt Bountysource page](https://img.shields.io/badge/Salt%20Bountysource-♥-brightgreen.svg?style=flat-square)](https://salt.bountysource.com/teams/olympus) [![Bountysource page](https://img.shields.io/badge/Bountysource-♥-brightgreen.svg?style=flat-square)](https://www.bountysource.com/teams/olympus)
76
85
  Guys, do **not** hesitate to spread your love about the **Olympus WordPress framework** and **all its packages** ;)
77
86
 
78
87
  ---
79
88
 
80
- ### Authors and Copyright
89
+ ## Authors and Copyright
81
90
 
82
91
  **Achraf Chouk**
83
92
 
@@ -85,7 +94,7 @@ Guys, do **not** hesitate to spread your love about the **Olympus WordPress fram
85
94
  + http://twitter.com/crewstyle
86
95
  + http://github.com/crewstyle
87
96
 
88
- Please, read [LICENSE](https://github.com/crewstyle/capistrano-olympus/blob/master/LICENSE "LICENSE") for more details.
97
+ Please, read [LICENSE](https://github.com/GetOlympus/capistrano-olympus/blob/master/LICENSE "LICENSE") for more details.
89
98
  [![MIT](https://img.shields.io/badge/license-MIT_License-blue.svg?style=flat-square)](http://opensource.org/licenses/MIT "MIT")
90
99
 
91
100
  ---
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = 'capistrano-olympus'
7
- gem.version = '0.0.7'
7
+ gem.version = '0.0.8'
8
8
  gem.date = Time.now.strftime("%Y-%m-%d")
9
9
  gem.authors = ['Achraf Chouk']
10
10
  gem.email = ['achrafchouk@gmail.com']
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.license = 'MIT'
15
15
 
16
16
  gem.files = [
17
- 'CHANGELOG',
17
+ 'CHANGELOG.md',
18
18
  'LICENSE',
19
19
  'README.md',
20
20
  'capistrano-olympus.gemspec',
@@ -24,11 +24,6 @@ Gem::Specification.new do |gem|
24
24
  'lib/capistrano/tasks/database.rake',
25
25
  'lib/capistrano/tasks/directories.rake',
26
26
  'lib/capistrano/tasks/files.rake',
27
- 'lib/capistrano/tasks/pagespeed.rake',
28
- 'lib/capistrano/tasks/php.rake',
29
- 'lib/capistrano/tasks/redis.rake',
30
- 'lib/capistrano/tasks/server.rake',
31
- 'lib/capistrano/tasks/varnish.rake',
32
27
  'lib/capistrano/vars/defaults.rb',
33
28
  ]
34
29
  gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -41,4 +36,5 @@ Gem::Specification.new do |gem|
41
36
  gem.add_dependency 'capistrano', '~> 3.4'
42
37
  gem.add_dependency 'capistrano-composer', '~> 0.0.3'
43
38
  gem.add_dependency 'colorize', '~> 0.7.7'
39
+ gem.add_runtime_dependency 'capistrano-file-permissions', '~> 1.0', '>= 1.0.0'
44
40
  end
@@ -1,4 +1,5 @@
1
- require "capistrano/composer"
1
+ require 'capistrano/composer'
2
+ require 'capistrano/file-permissions'
2
3
  require 'colorize'
3
4
 
4
5
  # Core tasks for deploying Olympus framework with WordPress and composer
@@ -6,11 +7,6 @@ load File.expand_path("../tasks/capistrano-deploy.rake", __FILE__)
6
7
  load File.expand_path("../tasks/database.rake", __FILE__)
7
8
  load File.expand_path("../tasks/directories.rake", __FILE__)
8
9
  load File.expand_path("../tasks/files.rake", __FILE__)
9
- #load File.expand_path("../tasks/pagespeed.rake", __FILE__)
10
- #load File.expand_path("../tasks/php.rake", __FILE__)
11
- #load File.expand_path("../tasks/redis.rake", __FILE__)
12
- #load File.expand_path("../tasks/server.rake", __FILE__)
13
- #load File.expand_path("../tasks/varnish.rake", __FILE__)
14
10
 
15
11
  # Load defaults variables
16
12
  namespace :load do
@@ -8,12 +8,12 @@ namespace :deploy do
8
8
 
9
9
  task :message_start do
10
10
  puts " "
11
- puts " Start deploy ".colorize(:color => :black, :background => :green)
11
+ puts " Start deploy ".colorize(:color => :black, :background => :green)
12
12
  puts " "
13
13
  end
14
14
  task :message_finish do
15
15
  puts " "
16
- puts " Finish deploy ".colorize(:color => :black, :background => :green)
16
+ puts " Finish deploy ".colorize(:color => :black, :background => :green)
17
17
  puts " "
18
18
  end
19
19
 
@@ -103,6 +103,7 @@ namespace :deploy do
103
103
  after 'deploy:updating', 'deploy:init_all'
104
104
 
105
105
  # Restart services and clear caches
106
+ before 'deploy:updated', 'deploy:set_permissions:acl'
106
107
  after 'deploy:publishing', 'deploy:clear_caches'
107
108
 
108
109
  end
@@ -30,14 +30,14 @@ namespace :database do
30
30
  puts " "
31
31
  puts "> Execute wp-cli commands to install WordPress SQL requests".colorize(:light_blue)
32
32
 
33
- execute :mkdir, '-p', "#{shared_path}/tmp/wpcli"
34
- execute "wp core download --path=#{shared_path}/tmp/wpcli --force"
33
+ execute "#{fetch(:sudo)} mkdir -p #{shared_path}/tmp/wpcli"
34
+ execute "#{fetch(:sudo)} wp core download --path=#{shared_path}/tmp/wpcli --force"
35
35
 
36
36
  puts "Execute wp-cli command to generate wp-config.php file".colorize(:light_blue)
37
- execute "wp core config --path=#{shared_path}/tmp/wpcli --dbname=#{fetch(:database_name)} --dbuser=#{fetch(:database_user)} --dbpass=#{fetch(:database_pass)}"
37
+ execute "#{fetch(:sudo)} wp core config --path=#{shared_path}/tmp/wpcli --dbname=#{fetch(:database_name)} --dbuser=#{fetch(:database_user)} --dbpass=#{fetch(:database_pass)}"
38
38
 
39
- execute "wp core install --path=#{shared_path}/tmp/wpcli --url=#{fetch(:localurl)} --title=#{fetch(:application)} --admin_user=#{fetch(:wordpress_name)} --admin_password=#{fetch(:wordpress_pass)} --admin_email=#{fetch(:wordpress_mail)}"
40
- execute :rm, '-rf', "#{shared_path}/tmp"
39
+ execute "#{fetch(:sudo)} wp core install --path=#{shared_path}/tmp/wpcli --url=#{fetch(:localurl)} --title=#{fetch(:application)} --admin_user=#{fetch(:wordpress_name)} --admin_password=#{fetch(:wordpress_pass)} --admin_email=#{fetch(:wordpress_mail)}"
40
+ execute "#{fetch(:sudo)} rm -rf #{shared_path}/tmp"
41
41
 
42
42
  puts "end :database:wp_cli".colorize(:light_blue)
43
43
  puts " "
@@ -9,7 +9,7 @@ namespace :directories do
9
9
  if test "[ ! -d \"#{shared_path}/app/config\" ]"
10
10
  puts " "
11
11
  puts "> Create app/config folder".colorize(:light_blue)
12
- execute :mkdir, '-p', "#{shared_path}/app/config"
12
+ execute "#{fetch(:sudo)} mkdir -p #{shared_path}/app/config"
13
13
  end
14
14
 
15
15
  # Create all linked dirs
@@ -17,10 +17,10 @@ namespace :directories do
17
17
  if test "[ ! -d \"#{shared_path}/#{folder}\" ]"
18
18
  puts " "
19
19
  puts "> Create #{folder} folder".colorize(:light_blue)
20
- execute :mkdir, '-p', "#{shared_path}/#{folder}"
20
+ execute "#{fetch(:sudo)} mkdir -p #{shared_path}/#{folder}"
21
21
 
22
22
  if test "[ -d \"#{release_path}/#{folder}\" ]"
23
- execute :rm, '-rf', "#{release_path}/#{folder}"
23
+ execute "#{fetch(:sudo)} rm -rf #{release_path}/#{folder}"
24
24
  end
25
25
  end
26
26
  end
@@ -1,13 +1,20 @@
1
1
  # ~~~~
2
2
 
3
+ set :files, fetch(:files, ['app/config/env.php', 'app/config/salt.php', 'web/.htaccess', 'web/robots.txt'])
4
+ set :dirs, fetch(:dirs, ['web/statics/languages', 'web/statics/plugins', 'web/statics/uploads'])
5
+ set :stage_user, fetch(:stage_user, 'www-data')
6
+
7
+ # ~~~~
8
+
3
9
  # Setup Git
4
- set :repo_url, 'git@github.com:crewstyle/Olympus.git'
10
+ set :repo_url, 'git@github.com:GetOlympus/Olympus.git'
5
11
  set :scm, :git
6
12
  set :git_enable_submodules, true
7
13
 
8
14
  # Setup SSH
9
15
  set :copy_exclude, ['.git', '.DS_Store', '.gitignore', '.gitmodules']
10
16
  set :use_sudo, false
17
+ set :sudo, "sudo -u #{fetch(:stage_user)} -i --"
11
18
  set :ssh_options, {
12
19
  forward_agent: true
13
20
  }
@@ -16,13 +23,19 @@ set :ssh_options, {
16
23
 
17
24
  # Setup Composer
18
25
  set :composer_flags, '--no-dev --prefer-dist --optimize-autoloader'
19
- set :composer_install_flags, fetch(:composer_flags)
26
+ set :composer_install_flags, :composer_flags
27
+
28
+ # ~~~~
29
+
30
+ # Setup File permissions
31
+ set :file_permissions_paths, :files + :dirs
32
+ set :file_permissions_users, [:stage_user]
20
33
 
21
34
  # ~~~~
22
35
 
23
36
  # Setup Symlinks
24
- set :linked_files, ["app/config/env.php", "app/config/salt.php", "web/.htaccess", "web/robots.txt"]
25
- set :linked_dirs, ["web/statics/languages", "web/statics/plugins", "web/statics/uploads"]
37
+ set :linked_files, :files
38
+ set :linked_dirs, :dirs
26
39
 
27
40
  # ~~~~
28
41
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-olympus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Achraf Chouk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-11 00:00:00.000000000 Z
11
+ date: 2016-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -52,6 +52,26 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.7.7
55
+ - !ruby/object:Gem::Dependency
56
+ name: capistrano-file-permissions
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.0.0
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.0
55
75
  description: Capistrano 3.x deployment processes for WordPress and Olympus framework
56
76
  email:
57
77
  - achrafchouk@gmail.com
@@ -59,7 +79,7 @@ executables: []
59
79
  extensions: []
60
80
  extra_rdoc_files: []
61
81
  files:
62
- - CHANGELOG
82
+ - CHANGELOG.md
63
83
  - LICENSE
64
84
  - README.md
65
85
  - capistrano-olympus.gemspec
@@ -69,11 +89,6 @@ files:
69
89
  - lib/capistrano/tasks/database.rake
70
90
  - lib/capistrano/tasks/directories.rake
71
91
  - lib/capistrano/tasks/files.rake
72
- - lib/capistrano/tasks/pagespeed.rake
73
- - lib/capistrano/tasks/php.rake
74
- - lib/capistrano/tasks/redis.rake
75
- - lib/capistrano/tasks/server.rake
76
- - lib/capistrano/tasks/varnish.rake
77
92
  - lib/capistrano/vars/defaults.rb
78
93
  homepage: http://github.com/crewstyle/capistrano-olympus
79
94
  licenses:
@@ -1,11 +0,0 @@
1
- # PageSpeed
2
- namespace :pagespeed do
3
-
4
- desc "PageSpeed data flush"
5
- task :flushall do
6
- on roles(:app) do
7
- sudo :touch, '/var/cache/mod_pagespeed/cache.flush'
8
- end
9
- end
10
-
11
- end
@@ -1,37 +0,0 @@
1
- # PHP
2
- namespace :php do
3
-
4
- desc "PHP restart"
5
- task :restart do
6
- on roles(:app) do
7
- if test("[ -f /etc/init.d/php7.0-fpm ]")
8
- sudo :service, 'php7.0-fpm', :restart
9
- elsif test("[ -f /etc/init.d/php5-fpm ]")
10
- sudo :service, 'php5-fpm', :restart
11
- end
12
- end
13
- end
14
-
15
- desc "PHP start"
16
- task :start do
17
- on roles(:app) do
18
- if test("[ -f /etc/init.d/php7.0-fpm ]")
19
- sudo :service, 'php7.0-fpm', :start
20
- elsif test("[ -f /etc/init.d/php5-fpm ]")
21
- sudo :service, 'php5-fpm', :start
22
- end
23
- end
24
- end
25
-
26
- desc "PHP stop"
27
- task :stop do
28
- on roles(:app) do
29
- if test("[ -f /etc/init.d/php7.0-fpm ]")
30
- sudo :service, 'php7.0-fpm', :stop
31
- elsif test("[ -f /etc/init.d/php5-fpm ]")
32
- sudo :service, 'php5-fpm', :stop
33
- end
34
- end
35
- end
36
-
37
- end
@@ -1,19 +0,0 @@
1
- # Redis
2
- namespace :redis do
3
-
4
- desc "Redis data flush"
5
- task :flushall do
6
- on roles(:app) do
7
- sudo 'redis-cli', 'flushall'
8
- end
9
- end
10
-
11
- desc "Redis restart"
12
- task :restart do
13
- on roles(:app) do
14
- sudo '/etc/init.d/redis-server', 'stop'
15
- sudo '/etc/init.d/redis-server', 'start'
16
- end
17
- end
18
-
19
- end
@@ -1,37 +0,0 @@
1
- # Server Nginx or Apache
2
- namespace :server do
3
-
4
- desc "Server restart"
5
- task :restart do
6
- on roles(:app) do
7
- if test("[ -f /etc/init.d/nginx ]")
8
- sudo :service, :nginx, :restart
9
- elsif test("[ -f /etc/init.d/apache2 ]")
10
- sudo :service, :apache2, :restart
11
- end
12
- end
13
- end
14
-
15
- desc "Server start"
16
- task :start do
17
- on roles(:app) do
18
- if test("[ -f /etc/init.d/nginx ]")
19
- sudo :service, :nginx, :start
20
- elsif test("[ -f /etc/init.d/apache2 ]")
21
- sudo :service, :apache2, :start
22
- end
23
- end
24
- end
25
-
26
- desc "Server stop"
27
- task :stop do
28
- on roles(:app) do
29
- if test("[ -f /etc/init.d/nginx ]")
30
- sudo :service, :nginx, :stop
31
- elsif test("[ -f /etc/init.d/apache2 ]")
32
- sudo :service, :apache2, :stop
33
- end
34
- end
35
- end
36
-
37
- end
@@ -1,11 +0,0 @@
1
- # Varnish
2
- namespace :varnish do
3
-
4
- desc "Varnish restart"
5
- task :restart do
6
- on roles(:app) do
7
- sudo :service, :varnish, :restart
8
- end
9
- end
10
-
11
- end