capistrano-sozo_magento2 1.6.0 → 1.8.0

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
  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