capistrano-laravel-lazy 0.0.3 → 0.0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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