capistrano-laravel-lazy 0.0.3 → 0.0.3.2

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: 7b441d61f122b8718af54a5e3add2b942dc73c2b
4
- data.tar.gz: 1ba75866b5bf3280972f03df3b4f9af0574c1fd0
3
+ metadata.gz: 78a03e34abf0a91788a16a1e87da828558bae481
4
+ data.tar.gz: 477fded8b29ddb6ac042f7864fa9e5668a80a283
5
5
  SHA512:
6
- metadata.gz: 477c2a3fb627e4682492e5a9dcb7fe6c9794fb62bf68b78fc0b3ead7b5ee0f25477224e1564a7a9a0a98c52e0eb088bb568bd747934806e923ab551e12335b6c
7
- data.tar.gz: f691ac7154afa74909803784ba8270ff8ffc43e93b523fc0e3176abcf66e7dff823b2498007613c3d8b2779d030eb19c0bb44f420563b7a18ed0cf38c68e774d
6
+ metadata.gz: afce59e034121783f392c3cf7dd03a1e3abc6a005e12e296bca24ceb8a35f48f8b2b1083004c371cfb7172671899f8792df0bde1ccf506e2c98481c2e2e34966
7
+ data.tar.gz: 8d412ac87d5332ed648f9862d03c3bf9ec4e125d20bd5418f622280072626c99dc59df055512080b5791d58e2179c874c3be6bc988f785759a83ee7dff5b7ae1
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'capistrano-laravel-lazy'
7
- spec.version = '0.0.3'
7
+ spec.version = '0.0.3.2'
8
8
  spec.authors = ['Ivan Chou', 'Peter Mitchell', 'Andrew Miller']
9
9
  spec.email = ['yiichou@gmail.com', 'peterjmit@gmail.com', 'ikari7789@yahoo.com']
10
10
  spec.description = %q{Laravel specific deployment options for Capistrano 3.x}
@@ -1,6 +1,4 @@
1
1
  require "capistrano/composer"
2
2
  require "capistrano/file-permissions"
3
3
 
4
- load File.expand_path("../tasks/laravel.rake", __FILE__)
5
- load File.expand_path("../tasks/php_fpm.rake", __FILE__)
6
- load File.expand_path("../tasks/setup_config.rake", __FILE__)
4
+ Dir[File.expand_path('../tasks/*.rake', __FILE__)].each { |file| load file }
@@ -0,0 +1,9 @@
1
+ namespace :composer do
2
+ desc 'Change the packagist repo to speed composer up'
3
+ task :set_repo do
4
+ unless fetch(:packagist_repo, '').empty?
5
+ invoke 'composer:run', :config, '-g', 'repo.packagist', :composer, fetch(:packagist_repo)
6
+ end
7
+ end
8
+
9
+ end
@@ -15,7 +15,6 @@ namespace :load do
15
15
  set :laravel_set_acl_paths, true
16
16
  set :laravel_create_linked_acl_paths, true
17
17
  set :laravel_server_user, 'www-data'
18
- set :laravel_phplint, false
19
18
 
20
19
  # Folders to link between releases
21
20
  set :laravel_4_linked_dirs, [
@@ -29,33 +28,33 @@ namespace :load do
29
28
  ]
30
29
 
31
30
  # Folders to set permissions on based on laravel version
32
- set :laravel_4_acl_paths, [
33
- 'app/storage',
34
- 'app/storage/cache',
35
- 'app/storage/logs',
36
- 'app/storage/meta',
37
- 'app/storage/sessions',
38
- 'app/storage/views'
39
- ]
40
- set :laravel_5_acl_paths, [
41
- 'storage',
42
- 'storage/app',
43
- 'storage/framework',
44
- 'storage/framework/cache',
45
- 'storage/framework/sessions',
46
- 'storage/framework/views',
47
- 'storage/logs'
48
- ]
49
- set :laravel_5_1_acl_paths, [
50
- 'bootstrap/cache',
51
- 'storage',
52
- 'storage/app',
53
- 'storage/framework',
54
- 'storage/framework/cache',
55
- 'storage/framework/sessions',
56
- 'storage/framework/views',
57
- 'storage/logs'
58
- ]
31
+ set :laravel_4_acl_paths, %w(
32
+ app/storage
33
+ app/storage/cache
34
+ app/storage/logs
35
+ app/storage/meta
36
+ app/storage/sessions
37
+ app/storage/views
38
+ )
39
+ set :laravel_5_acl_paths, %w(
40
+ storage
41
+ storage/app
42
+ storage/framework
43
+ storage/framework/cache
44
+ storage/framework/sessions
45
+ storage/framework/views
46
+ storage/logs
47
+ )
48
+ set :laravel_5_1_acl_paths, %w(
49
+ bootstrap/cache
50
+ storage
51
+ storage/app
52
+ storage/framework
53
+ storage/framework/cache
54
+ storage/framework/sessions
55
+ storage/framework/views
56
+ storage/logs
57
+ )
59
58
  end
60
59
  end
61
60
 
@@ -63,17 +62,15 @@ namespace :laravel do
63
62
  desc 'Set the ACL for the web user based on Laravel version.'
64
63
  task :configure_folders do
65
64
  laravel_version = fetch(:laravel_version)
66
- laravel_linked_dirs = []
67
- laravel_acl_paths = []
68
65
  if laravel_version < 5 # Laravel 4
69
- laravel_linked_dirs = fetch(:laravel_4_linked_dirs)
70
- laravel_acl_paths = fetch(:laravel_4_acl_paths)
66
+ laravel_linked_dirs = fetch(:laravel_4_linked_dirs, [])
67
+ laravel_acl_paths = fetch(:laravel_4_acl_paths, [])
71
68
  elsif laravel_version < 5.1 # Laravel 5
72
- laravel_linked_dirs = fetch(:laravel_5_linked_dirs)
73
- laravel_acl_paths = fetch(:laravel_5_acl_paths)
69
+ laravel_linked_dirs = fetch(:laravel_5_linked_dirs, [])
70
+ laravel_acl_paths = fetch(:laravel_5_acl_paths, [])
74
71
  else # Laravel 5.1 or greater
75
- laravel_linked_dirs = fetch(:laravel_5_1_linked_dirs)
76
- laravel_acl_paths = fetch(:laravel_5_1_acl_paths)
72
+ laravel_linked_dirs = fetch(:laravel_5_1_linked_dirs, [])
73
+ laravel_acl_paths = fetch(:laravel_5_1_acl_paths, [])
77
74
  end
78
75
 
79
76
  if fetch(:laravel_set_linked_dirs)
@@ -170,16 +167,10 @@ namespace :laravel do
170
167
  end
171
168
  end
172
169
 
173
- desc 'Check syntax error with PHPLint.'
174
- task :phplint do
175
- invoke 'laravel:artisan', :phplint if fetch(:laravel_phplint)
176
- end
177
-
178
170
  before 'deploy:starting', 'laravel:configure_folders'
179
171
  after 'deploy:symlink:shared', 'laravel:create_linked_acl_paths'
180
172
  after 'deploy:symlink:shared', 'deploy:set_permissions:acl'
181
173
  # after 'deploy:symlink:shared', 'laravel:upload_dotenv_file'
182
- before 'deploy:updated', 'laravel:phplint'
183
174
  after 'deploy:updated', 'laravel:optimize_release'
184
175
 
185
176
  end
@@ -0,0 +1,26 @@
1
+ namespace :test do
2
+
3
+ desc 'Check syntax error with PHPLint.'
4
+ task :phplint do
5
+ on release_roles :all do
6
+ within release_path do
7
+ next unless fetch(:enable_phplint, false)
8
+
9
+ if test('[ -f ./vendor/bin/phplint ]')
10
+ phplint_exec = './vendor/bin/phplint'
11
+ elsif test('[ -f ~/.composer/vendor/bin/phplint ]')
12
+ phplint_exec = '~/.composer/vendor/bin/phplint'
13
+ else
14
+ warn 'command not found: phplint, please install phplint first'
15
+ info ' How to install phplint:'
16
+ info ' composer [global] require overtrue/phplint'
17
+ next
18
+ end
19
+
20
+ execute phplint_exec, './', '--exclude=vendor'
21
+ end
22
+ end
23
+ end
24
+
25
+ before 'deploy:updated', 'test:phplint'
26
+ end
@@ -2,7 +2,7 @@ namespace :load do
2
2
  task :defaults do
3
3
  set :server_name, 'localhost'
4
4
  set :nginx_user, 'nginx'
5
- set :bind, "unix:/run/php/#{fetch(:php_fpm, 'php5-fpm')}.sock"
5
+ set :bind, "unix:/run/php/#{fetch(:full_app_name)}.sock"
6
6
  end
7
7
  end
8
8
 
@@ -14,6 +14,7 @@ namespace :deploy do
14
14
 
15
15
  def upload_shared
16
16
  local_shared_path = 'config/deploy/shared'
17
+ return unless File.exist? local_shared_path
17
18
 
18
19
  files = Dir.entries local_shared_path
19
20
  files.shift(2)
@@ -42,38 +43,50 @@ namespace :deploy do
42
43
  end
43
44
 
44
45
  def upload_config(conf, path)
45
- if File.exist? "config/templates/#{conf}.erb"
46
- conf_file = render_template "config/templates/#{conf}.erb"
47
- elsif File.exist? "config/templates/#{conf}"
48
- conf_file = "config/templates/#{conf}"
46
+ return if path.to_s.empty?
47
+
48
+ if File.exist? "config/deploy/templates/#{conf}.erb"
49
+ conf_file = render_template "config/deploy/templates/#{conf}.erb"
50
+ elsif File.exist? "config/deploy/templates/#{conf}"
51
+ conf_file = "config/deploy/templates/#{conf}"
49
52
  else
50
53
  conf_file = render_template File.expand_path("../../templates/#{conf}.erb", __FILE__)
51
54
  end
52
55
 
53
- tmp_target = "/tmp/#{fetch(:application)}/#{fetch(:full_app_name)}.#{conf}"
56
+ execute :mkdir, '-p', "#{fetch(:tmp_dir)}/#{fetch(:application)}/"
57
+ tmp_target = "#{fetch(:tmp_dir)}/#{fetch(:application)}/#{fetch(:full_app_name)}.#{conf}"
54
58
  target = File.join(path, "#{fetch(:full_app_name)}.conf")
55
59
  upload! conf_file, tmp_target
56
60
  execute :sudo, :mv, "-n #{tmp_target} #{target}"
57
61
  info "Compile & upload #{conf} to: #{target}"
58
62
  end
59
63
 
64
+ def install_phplint
65
+ execute :composer, :global, :require, 'overtrue/phplint'
66
+ end
67
+
60
68
  desc 'setup config to prepare deploying project.'
61
69
  task :setup_config do
62
70
  on release_roles :all do
63
71
  execute :mkdir, "-p #{shared_path}"
64
72
 
65
73
  # compile & upload all the config files
66
- upload_shared if File.exist? 'config/deploy/shared'
74
+ upload_shared
67
75
 
68
76
  # Compile & upload nginx config
69
- upload_config 'nginx.conf', fetch(:nginx_server_path) unless fetch(:nginx_server_path).to_s.empty?
77
+ upload_config 'nginx.conf', fetch(:nginx_server_path)
70
78
 
71
79
  # Compile & upload php-fpm config
72
- upload_config 'fpm.conf', fetch(:fpm_pool_path) unless fetch(:fpm_pool_path).to_s.empty?
80
+ upload_config 'fpm.conf', fetch(:fpm_pool_path)
81
+
82
+ # Change composer packagist repo
83
+ invoke 'composer:set_repo'
84
+
85
+ install_phplint if fetch(:enable_phplint)
73
86
 
74
87
  # Upload dotenv file to shared path
75
- if fetch(:laravel_version) >= 5
76
- unless fetch(:laravel_dotenv_file).empty?
88
+ if fetch(:laravel_version) >= 5 && fetch(:laravel_dotenv_file, '') != ''
89
+ unless test("[ -e #{shared_path}/.env ]")
77
90
  upload! fetch(:laravel_dotenv_file), "#{shared_path}/.env"
78
91
  end
79
92
  end
@@ -20,7 +20,7 @@ set :repo_url, 'git@example.com:me/my_repo.git'
20
20
  # set :log_level, :debug
21
21
 
22
22
  # Default value for :pty is false
23
- set :pty, true
23
+ # set :pty, false
24
24
 
25
25
  # Default value for :linked_files is []
26
26
  set :linked_files, ['.env']
@@ -48,8 +48,11 @@ set :laravel_version, 5.2
48
48
  # Default value for :laravel_server_user is true
49
49
  # set :laravel_server_user, 'www-data'
50
50
 
51
- # Default value for :laravel_phplint is false
52
- # set :laravel_phplint, false
51
+ # Default value for :enable_phplint is false
52
+ # set :enable_phplint, false
53
+
54
+ # Default value for :packagist_repo is empty
55
+ # set :packagist_repo, 'https://packagist.phpcomposer.com'
53
56
 
54
57
  # See more configuration at https://github.com/capistrano/laravel.
55
58
 
@@ -16,12 +16,11 @@ server {
16
16
  access_log /data/logs/nginx/<%= fetch(:application) %>.log customized_<%= fetch(:application) %>;
17
17
  error_log /data/logs/nginx/<%= fetch(:application) %>.error.log warn;
18
18
 
19
- # 修改为 Laravel 转发规则
20
19
  location / {
21
20
  try_files $uri $uri/ /index.php?$query_string;
22
21
  }
23
22
 
24
- # PHP 支持
23
+ # To PHP-FPM
25
24
  location ~ \.php$ {
26
25
  try_files $uri /index.php =404;
27
26
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
@@ -26,7 +26,7 @@ set :enable_ssl, false
26
26
  # Which user to run nginx, default: nginx
27
27
  # set :nginx_user, 'nginx'
28
28
 
29
- # Bind for php-fpm, default: unix:/run/php/#{fetch(:php_fpm)}.sock
29
+ # Bind for php-fpm, default: unix:/run/php/#{fetch(:full_app_name)}.sock
30
30
  # set :bind, '127.0.0.1:8080'
31
31
 
32
32
  # Where to set fpm pool config, default: nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-laravel-lazy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Chou
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-08-18 00:00:00.000000000 Z
13
+ date: 2016-08-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capistrano
@@ -103,8 +103,10 @@ files:
103
103
  - lib/capistrano/laravel.rb
104
104
  - lib/capistrano/laravel/helpers.rb
105
105
  - lib/capistrano/laravel/version.rb
106
+ - lib/capistrano/tasks/composer.rake
106
107
  - lib/capistrano/tasks/laravel.rake
107
108
  - lib/capistrano/tasks/php_fpm.rake
109
+ - lib/capistrano/tasks/phplint.rake
108
110
  - lib/capistrano/tasks/setup_config.rake
109
111
  - lib/capistrano/templates/Capfile
110
112
  - lib/capistrano/templates/deploy.rb.erb