capistrano-sozo_magento2 1.6.0 → 1.8.0

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
  SHA256:
3
- metadata.gz: dcc222d9e3fc341f69b780d94f5179850bee32fc6fbf9d5ca21872eace7a72a4
4
- data.tar.gz: 1f0aa60540f6c2b1d3d0e23200d46f6543b0c1f1f63bf42210b070c09b85efef
3
+ metadata.gz: 30ddb4232948b060b40cd21385c277fa47f3f047838b461320638b8a46a7fa72
4
+ data.tar.gz: 483615f92d6c6f94088702fad14bed24ed4048cd583a0bde96b2182dea144954
5
5
  SHA512:
6
- metadata.gz: df41ec7d95247860cf3cd56661457fba36053378d1c4b1f600324f3a4c352183c3321555ba51b332576507c8e7df95e9ef9e9ecb80e9919fd9dbde3e5d8c2a11
7
- data.tar.gz: 34beb143b6d773664423c93361df841495625aabacaff27e0ae17fe4cc74a94ec711f03b89ea65270fe8d025758e5b52e05914c059df89f0666c7fb638e2c4fc
6
+ metadata.gz: 1c9408af646a0cebe70f06de570403d5ffb40be9fb292c957d638abdc26619454c7c1192c2ec01f44fcde9c563b1e3f682bb6c4fedf5668286aebb40b6cca159
7
+ data.tar.gz: 28af1de39d23d75249378353572187456f9f5902a073ee1252fa947684da126a050080a5ffae30458f7edf44b421e67b330b3d09de775d37cd766f3a595bb0f8
data/CHANGELOG.md CHANGED
@@ -21,6 +21,20 @@ Given a version number MAJOR.MINOR.PATCH, increment the:
21
21
 
22
22
  ## [Unreleased]
23
23
 
24
+ ## [v1.8.0] - 2022-10-14
25
+ ### Added
26
+ - varnish role added to restart varnish service
27
+ - Ability to completely clear long running cron tasks to stop multiple crons running simultaneously
28
+
29
+
30
+ ## [v1.7.0] - 2022-09-22
31
+ ### Changed
32
+ - Fixed checks for branch existence to include tags.
33
+
34
+ ### Fixed
35
+ - When deployment fails due to cleanup task failing.
36
+
37
+
24
38
  ## [v1.6.0] - 2022-06-18
25
39
  ### Added
26
40
  - Ability to copy over multiple themes and specify their name.
data/README.md CHANGED
@@ -7,13 +7,16 @@ It is advised to use bundler.
7
7
 
8
8
  1. Add the following to your projects `Gemfile`
9
9
  ```
10
- gem "capistrano-sozo_magento2", "~> 1.6"
10
+ gem "capistrano-sozo_magento2", "~> 1.8"
11
11
  ```
12
12
  2. Install
13
13
  ```
14
14
  bundle install
15
15
  ```
16
16
 
17
+ ## Updating
18
+ Update the gem to the latest version with `bundle update capistrano-sozo_magento2 --conservative`
19
+
17
20
  ## Usage
18
21
  Make sure the following lines are added to your project's `Capfile`:
19
22
  ```
@@ -74,6 +77,7 @@ SSHKit.config.command_map[:php] = '/usr/bin/env php74 -dmemory_limit=-1'
74
77
  SSHKit.config.command_map[:composer] = SSHKit.config.command_map[:php], '-f /usr/local/bin/composer'
75
78
  SSHKit.config.command_map[:n98magerun] = SSHKit.config.command_map[:php], '-f /usr/local/bin/n98-magerun'
76
79
  SSHKit.config.command_map[:magento] = SSHKit.config.command_map[:php], '-f bin/magento --'
80
+ SSHKit.config.command_map[:app_controller] = 'sudo /usr/bin/systemctl'
77
81
  ```
78
82
 
79
83
  ## Versioning
@@ -45,6 +45,7 @@ set :magento_deploy_confirm_roles, fetch(:magento_deploy_confirm_roles, [])
45
45
 
46
46
  # Handle removing and installing of cron tasks?
47
47
  set :handle_cron, fetch(:handle_cron, false)
48
+ set :clear_cron, fetch(:clear_cron, false)
48
49
 
49
50
  # Other defaults (for future use)
50
51
  # Clear or leave the failed deployment dirs
@@ -12,6 +12,7 @@ module SozoMagento2
12
12
  branch
13
13
  environment
14
14
  handle_cron
15
+ clear_cron
15
16
  slack_channel
16
17
  url
17
18
  ).freeze
@@ -4,6 +4,6 @@ module Capistrano
4
4
  module SozoMagento2
5
5
  # The plugin version number
6
6
  # @return [String] The gem version number
7
- VERSION = "1.6.0"
7
+ VERSION = "1.8.0"
8
8
  end
9
9
  end
@@ -4,6 +4,7 @@ SSHKit.config.command_map[:php] = '/usr/bin/env php -dmemory_limit=-1'
4
4
  SSHKit.config.command_map[:composer] = SSHKit.config.command_map[:php], '-f /usr/local/bin/composer'
5
5
  SSHKit.config.command_map[:n98magerun] = SSHKit.config.command_map[:php], '-f /usr/local/bin/n98-magerun'
6
6
  SSHKit.config.command_map[:magento] = SSHKit.config.command_map[:php], '-f bin/magento --'
7
+ SSHKit.config.command_map[:app_controller] = 'sudo /usr/bin/systemctl'
7
8
 
8
9
  load File.expand_path('../tasks/sozo_magento2.rake', __FILE__)
9
10
  load File.expand_path('../tasks/deploy.rake', __FILE__)
@@ -15,6 +16,7 @@ load File.expand_path('../tasks/magento2.rake', __FILE__)
15
16
  load File.expand_path('../tasks/provision.rake', __FILE__)
16
17
  load File.expand_path('../tasks/server.rake', __FILE__)
17
18
  load File.expand_path('../tasks/wordpress.rake', __FILE__)
19
+ load File.expand_path('../tasks/cron.rake', __FILE__)
18
20
 
19
21
  after 'deploy:check', 'sozo:git:check'
20
22
  after 'deploy:check', 'sozo:info'
@@ -0,0 +1,27 @@
1
+ namespace :cron do
2
+ desc 'Cleanup cron tasks that shouldn\'t be running'
3
+ task :cleanup do
4
+ on release_roles :all do
5
+ if (fetch(:clear_cron).to_s == "true")
6
+ info "Stopping cron daemon"
7
+ execute :app_controller, "stop", "crond"
8
+
9
+ info "Killing current cron tasks"
10
+ execute :sudo, "pkill", "-u", "#{fetch(:username)}", "-f", "'cron|consumer'", "||", "true"
11
+
12
+ within fetch(:deploy_root) + '/magento2/' do
13
+ info "Removing Magento cron tasks"
14
+ execute :rm, "-rf", "var/cron/*"
15
+
16
+ info "Truncating cron_schedule table"
17
+ execute :n98magerun, "db:query", '"truncate cron_schedule;"'
18
+ end
19
+
20
+ info "Starting cron daemon"
21
+ execute :app_controller, "start", "crond"
22
+ else
23
+ info "Cron Clear not controlled by capistrano"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -34,7 +34,7 @@ namespace :deploy do
34
34
  directories_str = directories.map do |release|
35
35
  releases_path.join(release)
36
36
  end.join(" ")
37
- execute :sudo, 'rm', "-rf", directories_str
37
+ execute :sudo, 'rm', "-rf", directories_str, "||", "true"
38
38
  # TODO re-symlink the old directory
39
39
  else
40
40
  info t(:no_old_releases, host: host.to_s, keep_releases: keep)
@@ -10,6 +10,7 @@ namespace :magento do
10
10
  else
11
11
  info "Cron not controlled by capistrano"
12
12
  end
13
+ invoke 'cron:cleanup'
13
14
  end
14
15
  end
15
16
 
@@ -2,10 +2,15 @@ namespace :server do
2
2
  namespace :service do
3
3
  desc "Restart the server services"
4
4
  task :restart do
5
+ on roles(:varnish) do
6
+ within release_path do
7
+ execute :app_controller, "restart", "varnish"
8
+ end
9
+ end
5
10
  on roles(:gcloud, :aws, :cloud, :dedicated) do
6
11
  within release_path do
7
- execute :sudo, "systemctl", "restart", "php-fpm"
8
- execute :sudo, "systemctl", "restart", "nginx"
12
+ execute :app_controller, "restart", "php-fpm"
13
+ execute :app_controller, "restart", "nginx"
9
14
  end
10
15
  end
11
16
  on roles(:cluster) do
@@ -15,11 +15,23 @@ namespace :sozo do
15
15
  desc "Git branch Check"
16
16
  task :check do
17
17
  on roles(:all) do
18
+ found = false
19
+ # Check if branch exists on remote
18
20
  check = capture(:git, 'ls-remote', '--heads', fetch(:repo_url), fetch(:branch), '|', 'wc', '-l')
19
21
 
20
22
  if check.to_i == 1
21
23
  info "Branch is available for deployment."
22
- else
24
+ found = true
25
+ else
26
+ # Check if a tag exists on remote
27
+ check = capture(:git, 'ls-remote', '--tags', fetch(:repo_url), fetch(:branch), '|', 'wc', '-l')
28
+ if check.to_i == 1
29
+ info "Tag is available for deployment."
30
+ found = true
31
+ end
32
+ end
33
+
34
+ if found == false
23
35
  error "Branch does not exist in git repository, have you pushed your changes?"
24
36
  exit 1
25
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-sozo_magento2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clive Walkden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-18 00:00:00.000000000 Z
11
+ date: 2022-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -45,6 +45,7 @@ files:
45
45
  - lib/capistrano/sozo_magento2/slack.rb
46
46
  - lib/capistrano/sozo_magento2/version.rb
47
47
  - lib/capistrano/tasks/composer.rake
48
+ - lib/capistrano/tasks/cron.rake
48
49
  - lib/capistrano/tasks/db.rake
49
50
  - lib/capistrano/tasks/deploy.rake
50
51
  - lib/capistrano/tasks/magento2.rake