wp-capistrano3 0.0.6 → 0.0.11

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: 815299f7b69807a3a7f4bb5382ef69a6eeefb6446d9931a8d87213345170b56f
4
- data.tar.gz: aa232b23a2d45adf2cb8abf7f3e3e7234133f1a7dc5833f66563daf80f169aa7
3
+ metadata.gz: eb261ed93c85acb2f2bdcd54bd9c4937c59f4bf60ddab77f4392964b0b9ba102
4
+ data.tar.gz: 8c9f5a264ece033ee588711aa936a17e0eea6505b52837faa34fefff11ebae76
5
5
  SHA512:
6
- metadata.gz: bd55d213bc3366bddbf066bd05098e64cc1f389470863a1cb65f102900d32869bac876291951eb80b782402c65da405e8cd4c601c9ebbd0e7f99f15e0c04d4dd
7
- data.tar.gz: 8a9bbd0421ee6a87f265d2638690e69e4f458d1bc8ef1c2af5a932835835bcdacdf6bb6039f4a7bdee5158acb0db48d633ef2266b69360ce4c67826d43d83a7a
6
+ metadata.gz: 130768c392792bfdc20972898f368af02f643260cd062b232f47655d7088e5b559006b9f1551ffdfe4773a3928615b166bf1b5cb124dc6fcd0c478d3ca5fe0d5
7
+ data.tar.gz: b8d15522934975193ef7b6c4977b9ac296af65abaa829d6c82b590716ba425e108acb9deb189b81df0a5cc8efbc49684650243a395875f37648d70e84db90c17
data/README.md CHANGED
@@ -18,6 +18,23 @@ Then run
18
18
  bundle install
19
19
  #or bundle update
20
20
  ```
21
+ set following variables in your deploy.rb
22
+ These variables will be used to generate wp_config.php at first deployment.
23
+ And will install an empty wordpress
24
+ ```ruby
25
+ set :wp_db_name, "wp_db_name"
26
+ set :wp_db_password, "wp_db_password"
27
+ set :wp_db_user, "wp_db_user"
28
+ set :wp_db_host, "127.0.0.1"
29
+ #ADMIN LOCALE
30
+ set :wp_locale, "en_GB"
31
+
32
+ set :wp_url, "wp_domain"
33
+ set :wp_title, "wp site name"
34
+ set :wp_admin_user, "admin"
35
+ set :wp_admin_password, "password"
36
+ set :wp_admin_email, "admin@xxxx.com"
37
+ ```
21
38
 
22
39
  ## Workflow
23
40
 
@@ -28,4 +45,5 @@ before 'deploy:check:linked_files', 'wp-capistrano:create_wp_config'
28
45
  before 'deploy:updating', 'wp-capistrano:download_wordpress'
29
46
  after 'wp-capistrano:download_wordpress', 'wp-capistrano:install_wordpress'
30
47
  after 'wp-capistrano:download_wordpress', 'wp-capistrano:update_wordpress'
48
+ after 'wp-capistrano:install_wordpress', 'wp-capistrano:install_plugins'
31
49
  ```
@@ -1,75 +1,64 @@
1
+ require 'json'
1
2
  namespace "wp-capistrano" do
2
3
  desc 'Install wordpress plugins'
3
4
  task :install_plugins do
4
- on roles(:app) do
5
- bashScript = <<BASH
6
- #!/bin/bash
5
+ on roles(:app) do
6
+ info "Check file #{release_path}/plugins.json"
7
+ if (test("[ -f #{release_path}/plugins.json ]"))
8
+ debug "#{release_path}/plugins.json exist"
9
+ pluginsStr = capture("cat #{release_path}/plugins.json")
10
+ jsonPlugins = JSON.parse(pluginsStr)
11
+ end
12
+
13
+ if(test("[ -L #{current_path} ]"))
14
+ info "installing pluggins..."
15
+ installedPlugins = capture("/usr/bin/env php /tmp/wp-cli.phar plugin list --path=#{current_path} |awk '{ print $1 }'")
16
+ installedPluginsArr = installedPlugins.to_s.gsub(/\n/, '|').split("|")
17
+ installedPluginsStatus = capture("/usr/bin/env php /tmp/wp-cli.phar plugin list --path=#{current_path} |awk '{ print $2 }'")
18
+ installedPluginsStatusArr = installedPluginsStatus.to_s.gsub(/\n/, '|').split("|")
19
+ installedPluginsVersion = capture("/usr/bin/env php /tmp/wp-cli.phar plugin list --path=#{current_path} |awk '{ print $4 }'")
20
+ installedPluginsVersionArr = installedPluginsVersion.to_s.gsub(/\n/, '|').split("|")
21
+
22
+ plugins = [];
23
+
24
+ installedPluginsArr.each_with_index do |plugin, index|
25
+ if(index == 0)
26
+ next
27
+ end
28
+ pluginInfo = {:slug => plugin, :version => installedPluginsVersionArr[index], :status => installedPluginsStatusArr[index] }
29
+ plugins.push(pluginInfo)
30
+ end
7
31
 
8
- Help()
9
- {
10
- # Display Help
11
- echo "Download installed wordpress plugins"
12
- echo
13
- echo "Syntax: install_plugins [-c|n|h|v]"
14
- echo "options:"
15
- echo "-c | --current_path Current wordpress path."
16
- echo "-n | --new_path Path of release currently in deployment."
17
- echo "-h | --help Print this Help."
18
- echo "-v | --verbose Verbose mode."
19
- echo
20
- }
32
+ jsonPlugins.each do |plugin, version|
33
+ plugginInfo = plugins.detect {|f| f["slug"] == plugin }
34
+ if(plugginInfo)
35
+ plugginInfo[:version] = version
36
+ else
37
+ pluginInfo = {:slug => plugin, :version => version, :status => "active" }
38
+ plugins.push(pluginInfo)
39
+ end
40
+ end
21
41
 
22
- while [ "$1" != "" ]; do
23
- case $1 in
24
- -c | --current_path ) shift
25
- current_path="$1"
26
- ;;
27
- -n | --new_path ) shift
28
- new_path="$1"
29
- ;;
30
- -h | --help ) Help
31
- exit
32
- ;;
33
- * ) Help
34
- exit 1
35
- esac
36
- shift
37
- done
42
+ plugins.each do |plugin|
43
+ existingPlugins = capture("/usr/bin/env php /tmp/wp-cli.phar plugin search #{plugin[:slug]} --path=#{release_path} --field=slug --per-page=999999")
44
+ if (existingPlugins.to_s.gsub(/\n/, '|').split("|").include?("#{plugin[:slug]}") == false)
45
+ warn "Pluggin #{plugin[:slug]} not known in wordpress repository. skip installation"
46
+ next
47
+ end
38
48
 
39
-
40
- if [ -z $new_path ];
41
- then
42
- echo -e "\e[31mArgument -n | --new_path is mandatory\e[0m"
43
- exit 1
44
- fi
45
-
46
- if [ -z $current_path ];
47
- then
48
- echo -e "\e[32mArgument -c | --current_path not defined. Plugin installation skipped.\e[0m"
49
- exit
50
- fi
51
-
52
- echo -e "\e[32mInstalling plugins ...\e[0m"
53
-
54
- plugins=($(/usr/local/bin/php /tmp/wp-cli.phar plugin list --path=$current_path |awk '{ print $1 }'))
55
- nbPlugins=$((${#plugins[@]} - 1))
56
- plugins_status=($(/usr/local/bin/php /tmp/wp-cli.phar plugin list --path=$current_path |awk '{ print $2 }'))
57
- plugins_versions=($(/usr/local/bin/php /tmp/wp-cli.phar plugin list --path=$current_path |awk '{ print $4 }'))
58
- for i in `seq 1 $nbPlugins`;
59
- do
60
- /usr/local/bin/php /tmp/wp-cli.phar plugin install ${plugins[i]} --path=$new_path
61
- echo /usr/local/bin/php /tmp/wp-cli.phar plugin install ${plugins[i]} --path=$new_path
62
- if [ ${plugins_status[i]} = "active" ];
63
- then
64
- /usr/local/bin/php /tmp/wp-cli.phar plugin activate ${plugins[i]} --path=$new_path --version=${plugins_versions[i]}
65
- else
66
- /usr/local/bin/php /tmp/wp-cli.phar plugin deactivate ${plugins[i]} --path=$new_path --version=${plugins_versions[i]}
67
- fi
68
- done
69
- BASH
70
-
71
- upload! StringIO.new(bashScript), "/tmp/install_plugins.sh"
72
- execute "/bin/bash /tmp/install_plugins.sh -c \"#{current_path}\" -n #{release_path}"
73
- end
49
+ info "install #{plugin[:slug]}:#{plugin[:version]}"
50
+ execute "/usr/bin/env php /tmp/wp-cli.phar plugin install #{plugin[:slug]} --path=#{release_path} --version=#{plugin[:version]}"
51
+ end
52
+ plugins.each do |plugin|
53
+ if (plugin[:status] == "active")
54
+ execute "/usr/bin/env php /tmp/wp-cli.phar plugin activate #{plugin[:slug]} --path=#{release_path}"
55
+ info "activate #{plugin}"
56
+ else
57
+ execute "/usr/bin/env php /tmp/wp-cli.phar plugin deactivate #{plugin[:slug]} --path=#{release_path}"
58
+ info "deactivate #{plugin[:slug]}"
59
+ end
60
+ end
61
+ end
62
+ end
74
63
  end
75
- end
64
+ end
@@ -1,4 +1,3 @@
1
- #load File.expand_path("../tasks/deploy-theme.rake", __FILE__)
2
1
  load File.expand_path("../tasks/create_wp_config.rake", __FILE__)
3
2
  load File.expand_path("../tasks/download_wordpress.rake", __FILE__)
4
3
  load File.expand_path("../tasks/install_wordpress.rake", __FILE__)
@@ -2,6 +2,5 @@
2
2
  before 'deploy:check:linked_files', 'wp-capistrano:create_wp_config'
3
3
  before 'deploy:updating', 'wp-capistrano:download_wordpress'
4
4
  after 'wp-capistrano:download_wordpress', 'wp-capistrano:install_wordpress'
5
- after 'wp-capistrano:download_wordpress', 'wp-capistrano:install_wordpress'
6
- after 'wp-capistrano:install_wordpress', 'wp-capistrano:install_plugins'
7
- #before 'deploy:updated', 'wp-capistrano:deploy-theme'
5
+ after 'wp-capistrano:install_wordpress', 'wp-capistrano:update_wordpress'
6
+ after 'deploy:updating', 'wp-capistrano:install_plugins'
@@ -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 = 'wp-capistrano3'
7
- spec.version = '0.0.6'
7
+ spec.version = '0.0.11'
8
8
  spec.authors = ['Nicolas RENAULT']
9
9
  spec.email = ['nrenault@tangkoko.com']
10
10
  spec.description = %q{Wordpress tasks for Capistrano 3.x}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wp-capistrano3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas RENAULT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-29 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -64,9 +64,7 @@ files:
64
64
  - README.md
65
65
  - Rakefile
66
66
  - gemfile
67
- - lib/capistrano/Rakefile
68
67
  - lib/capistrano/tasks/create_wp_config.rake
69
- - lib/capistrano/tasks/deploy-theme.rake
70
68
  - lib/capistrano/tasks/download_wordpress.rake
71
69
  - lib/capistrano/tasks/install_plugins.rake
72
70
  - lib/capistrano/tasks/install_wordpress.rake
@@ -94,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
92
  - !ruby/object:Gem::Version
95
93
  version: '0'
96
94
  requirements: []
97
- rubygems_version: 3.1.2
95
+ rubygems_version: 3.2.15
98
96
  signing_key:
99
97
  specification_version: 4
100
98
  summary: Wordpress tasks for Capistrano 3.x
@@ -1 +0,0 @@
1
- require 'bundler/gem_tasks'
@@ -1,15 +0,0 @@
1
- namespace "wp-capistrano" do
2
- desc 'upload theme compiled files'
3
- task :deploy-theme do
4
- run_locally do
5
- role_properties(:app) do |server|
6
- ssh_options = server.ssh_options
7
- fetch(:themes_to_deploy).each do |theme|
8
- themesParentDir = theme.split("/")
9
- themesParentDir.pop()
10
- execute "scp -r -P #{server.ssh_options[:port]} #{ENV['SOURCE_PATH']}/#{theme} #{server.user}@#{server.hostname}:#{release_path}/#{themesParentDir.join("/")}"
11
- end
12
- end
13
- end
14
- end
15
- end