wp-capistrano3 0.0.5 → 0.0.10

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: a8593a1a18682c86eb81ce1af3f9a5dc6e4187db0ff46cb133d5457a7b6c85f7
4
- data.tar.gz: ac95853e70f624b9820105a9aaa7b2dd147d576d2103709e13864a6ca32f816e
3
+ metadata.gz: 263a4ead8871a0d4cc8eecc3d392a0f3dfe4eeafc07a6449813d0f0e3387a3a9
4
+ data.tar.gz: 829b6c086104992b75220d2feee2e4cc737e785a4e265365f865cf57f6a3055f
5
5
  SHA512:
6
- metadata.gz: c04c3109d03a94385b49f5b018a2634eb5664830138a8b4f13be58d991bfeb7e4aafdcd5b8b9711ee98c0290027de093d3392000168b4206b56d26decb006d44
7
- data.tar.gz: 040c925479561eea944c090cacbf803b1448b51350bae6cdfc51b2b60b085d7bc99c616550c1c751310622a174da27ff7a5e169aabc98bb829163c21dcc35b8a
6
+ metadata.gz: e6a1539259798412c14cb6b08d65d22625cb368559fff02ced34e62bc83c2c3b928801cc7a9c1a53a203830e1ddad7244efbfa93e1efff0be85e656e1b426d23
7
+ data.tar.gz: 71ac0c91fb2f3935f6c4e3bd82dd0dac7414df2e46d998e293e035ca97dcdef134b566c1b18c7a31809d5ec879479dc340a3fdcc9d069e232b4a633745873c62
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 => "activate" }
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
- for i in `seq 1 $nbPlugins`;
58
- do
59
- /usr/local/bin/php /tmp/wp-cli.phar plugin install ${plugins[i]} --path=$new_path
60
- echo /usr/local/bin/php /tmp/wp-cli.phar plugin install ${plugins[i]} --path=$new_path
61
- if [ ${plugins_status[i]} = "active" ];
62
- then
63
- /usr/local/bin/php /tmp/wp-cli.phar plugin activate ${plugins[i]} --path=$new_path
64
- else
65
- /usr/local/bin/php /tmp/wp-cli.phar plugin deactivate ${plugins[i]} --path=$new_path
66
- fi
67
- done
68
- BASH
69
-
70
- upload! StringIO.new(bashScript), "/tmp/install_plugins.sh"
71
- execute "/usr/local/bin/php -v"
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.5'
7
+ spec.version = '0.0.10'
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.5
4
+ version: 0.0.10
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
@@ -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