theme-juice 0.16.7 → 0.17.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
  SHA1:
3
- metadata.gz: 7b21cd2378118629f5450467ad72c81faea56e8a
4
- data.tar.gz: 72b6f5e45b7207b864baceab6795a51e258c2daf
3
+ metadata.gz: 39f80f4b6db54e005e45e62ccad706ac2e740761
4
+ data.tar.gz: 7f5136693cd24c83ab29c7d42010cf9285976976
5
5
  SHA512:
6
- metadata.gz: 2dabcb802d165f3e375a0d4af3bdf65e2fe39f7272fbf3462cf65044a14c0a725a530ed05de402c7b792d07247b27ca9eafbb66b4fe25643cf3e55219163f9c4
7
- data.tar.gz: 5d46600a75655bed860146654d7d8cd2e06cd944fde8f46747b694c71a379333b84ab85db7939c18393af661c00e0a4fdceaf3d623492a4dd2969ed8447aa28a
6
+ metadata.gz: 833ee941d9bccccfe98be2bcebf66635d778badc49b95f56e08ed9154bc8f67696a9408597ce39653730282bf91e8d120461e6f57fe3a611e2a5efa433a2aeea
7
+ data.tar.gz: 9223ad305b744e2579ed60f854e47fac7166ed5401e5e323150f564b7da6fecc863f9c4b7674fd2102af5ee899633f00d6fa475e66255c44315a61a2adbbb2e8
@@ -135,6 +135,7 @@ module ThemeJuice
135
135
  end
136
136
 
137
137
  desc "deploy STAGE [,ARGS]", "Deploy a project"
138
+ method_option :archive, :type => :boolean, :aliases => %w[--tar --gzip --zip], :desc => ""
138
139
  def deploy(stage, *args)
139
140
  @deploy.new(options).send(stage, *args).execute
140
141
  end
@@ -9,8 +9,9 @@ module ThemeJuice
9
9
 
10
10
  @config.deployment.stages.keys.each do |stage|
11
11
  self.class.send :define_method, stage do |*args|
12
- @env.cap = Capistrano::Application.new
13
- @env.stage = stage.to_sym
12
+ @env.cap = Capistrano::Application.new
13
+ @env.stage = stage.to_sym
14
+ @env.archive = opts[:archive]
14
15
 
15
16
  runner do |tasks|
16
17
  tasks << Tasks::Settings.new
@@ -22,6 +22,7 @@ module ThemeJuice
22
22
  attr_accessor :nginx
23
23
  attr_accessor :stage
24
24
  attr_accessor :cap
25
+ attr_accessor :archive
25
26
 
26
27
  def vm_box=(val)
27
28
  @vm_box = val || ENV.fetch("TJ_VM_BOX") { "git@github.com:ezekg/theme-juice-vvv.git" }
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "TJ\-DEPLOY" "1" "September 2015" "" "Theme Juice Manual"
4
+ .TH "TJ\-DEPLOY" "1" "November 2015" "" "Theme Juice Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBtj\-deploy\fR \- Deploy a project
@@ -35,6 +35,12 @@ Deploy!
35
35
  .
36
36
  .IP "" 0
37
37
  .
38
+ .SH "GLOBAL OPTIONS"
39
+ .
40
+ .TP
41
+ \fB\-\-archive\fR, \fB\-\-tar\fR, \fB\-\-gzip\fR, \fB\-\-zip\fR
42
+ Archive directories when performing file transfers with tar(1)
43
+ .
38
44
  .SH "PRIMARY COMMANDS"
39
45
  If no command is passed, the default task to be executed is \fBdeploy\fR
40
46
  .
@@ -31,6 +31,10 @@ SETUP
31
31
 
32
32
 
33
33
 
34
+ GLOBAL OPTIONS
35
+ --archive, --tar, --gzip, --zip
36
+ Archive directories when performing file transfers with tar(1)
37
+
34
38
  PRIMARY COMMANDS
35
39
  If no command is passed, the default task to be executed is deploy
36
40
 
@@ -177,4 +181,4 @@ CONFIG FILE
177
181
 
178
182
 
179
183
 
180
- September 2015 TJ-DEPLOY(1)
184
+ November 2015 TJ-DEPLOY(1)
@@ -1,24 +1,87 @@
1
1
  namespace :dir do
2
2
 
3
+ desc "Initialize transfer variables"
4
+ task :init do
5
+ set :dir_archive, "archive.tar.gz"
6
+
7
+ run_locally do
8
+ execute :mkdir, "-p", fetch(:vm_tmp_dir)
9
+ end
10
+
11
+ on roles(:app) do
12
+ within release_path do
13
+ execute :mkdir, "-p", fetch(:tmp_dir)
14
+ end
15
+ end
16
+ end
17
+
3
18
  desc "Recursively push directory to remote"
4
19
  task :push, [:dir] do |t, args|
20
+ invoke "dir:init"
21
+
22
+ error "Could not locate local directory '#{args[:dir]}'" unless File.exist? args[:dir]
23
+
5
24
  on roles(:app) do
6
- if File.exist? args[:dir]
25
+ within release_path do
26
+ execute :mkdir, "-p", args[:dir]
27
+ end
28
+ end
29
+
30
+ if fetch(:archive)
31
+ on roles(:dev) do
32
+ within fetch(:dev_path) do
33
+ execute :tar, "-zcf", "#{fetch(:vm_tmp_dir)}/#{fetch(:dir_archive)}", "#{args[:dir]}/*"
34
+ end
35
+ end
36
+
37
+ on release_roles(:app) do
38
+ upload! "#{fetch(:vm_tmp_dir)}/#{fetch(:dir_archive)}", release_path
39
+ .join("#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}")
40
+
41
+ within release_path do
42
+ execute :tar, "--no-overwrite-dir -zxf", "#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}", "#{args[:dir]}/"
43
+ execute :rm,"#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}"
44
+ end
45
+ end
46
+ else
47
+ on roles(:app) do
7
48
  upload! args[:dir], release_path.join(Pathname.new(args[:dir]).parent), {
8
49
  recursive: true
9
50
  }
10
- else
11
- error "Could not locate local directory '#{args[:dir]}'"
12
51
  end
13
52
  end
14
53
  end
15
54
 
16
55
  desc "Recursively pull directory from remote"
17
56
  task :pull, [:dir] do |t, args|
18
- on roles(:app) do
19
- download! release_path.join(args[:dir]), Pathname.new(args[:dir]).parent, {
20
- recursive: true
21
- }
57
+ invoke "dir:init"
58
+
59
+ run_locally do
60
+ execute :mkdir, "-p", args[:dir]
61
+ end
62
+
63
+ if fetch(:archive)
64
+ on release_roles(:app) do
65
+ within release_path do
66
+ execute :tar, "-hzcf", "#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}", "#{args[:dir]}/*"
67
+ download! release_path.join("#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}"),
68
+ "#{fetch(:vm_tmp_dir)}/#{fetch(:dir_archive)}"
69
+ execute :rm,"#{fetch(:tmp_dir)}/#{fetch(:dir_archive)}"
70
+ end
71
+ end
72
+
73
+ on roles(:dev) do
74
+ within fetch(:dev_path) do
75
+ execute :tar, "--no-overwrite-dir -zxf", "#{fetch(:vm_tmp_dir)}/#{fetch(:dir_archive)}", "#{args[:dir]}/"
76
+ execute :rm,"#{fetch(:vm_tmp_dir)}/#{fetch(:dir_archive)}"
77
+ end
78
+ end
79
+ else
80
+ on roles(:app) do
81
+ download! release_path.join(args[:dir]), Pathname.new(args[:dir]).parent, {
82
+ recursive: true
83
+ }
84
+ end
22
85
  end
23
86
  end
24
87
  end
@@ -4,19 +4,21 @@ namespace :uploads do
4
4
 
5
5
  desc "Push local uploads to remote"
6
6
  task :push do
7
- on roles(:app) do
8
- upload! fetch(:vm_uploads_dir), shared_path.join(Pathname.new(fetch(:uploads_dir)).parent), {
9
- recursive: true
10
- }
11
- end
7
+ invoke "dir:push", fetch(:uploads_dir)
8
+ # on roles(:app) do
9
+ # upload! fetch(:vm_uploads_dir), shared_path.join(Pathname.new(fetch(:uploads_dir)).parent), {
10
+ # recursive: true
11
+ # }
12
+ # end
12
13
  end
13
14
 
14
15
  desc "Pull remote uploads to local"
15
16
  task :pull do
16
- on roles(:app) do
17
- download! shared_path.join(fetch(:uploads_dir)), Pathname.new(fetch(:vm_uploads_dir)).parent, {
18
- recursive: true
19
- }
20
- end
17
+ invoke "dir:pull", fetch(:uploads_dir)
18
+ # on roles(:app) do
19
+ # download! shared_path.join(fetch(:uploads_dir)), Pathname.new(fetch(:vm_uploads_dir)).parent, {
20
+ # recursive: true
21
+ # }
22
+ # end
21
23
  end
22
24
  end
@@ -1,14 +1,14 @@
1
- # encoding: UTF-8
2
-
3
- module ThemeJuice
4
- module Tasks
5
- class Settings < Task
6
- include Capistrano::DSL
7
-
8
- def initialize
9
- super
10
- end
11
-
1
+ # encoding: UTF-8
2
+
3
+ module ThemeJuice
4
+ module Tasks
5
+ class Settings < Task
6
+ include Capistrano::DSL
7
+
8
+ def initialize
9
+ super
10
+ end
11
+
12
12
  def execute
13
13
  @io.log "Configuring Capistrano"
14
14
 
@@ -18,19 +18,20 @@ module ThemeJuice
18
18
  configure_required_settings
19
19
  configure_optional_settings
20
20
  end
21
- end
22
-
23
- private
24
-
25
- # Required global settings
21
+ end
22
+
23
+ private
24
+
25
+ # Required global settings
26
26
  def configure_required_settings
27
27
  begin
28
28
  set :application, @config.deployment.application.name
29
-
29
+ set :archive, @env.archive
30
+
30
31
  set :linked_files, fetch(:linked_files, []).concat(fetch(:shared_files, []))
31
32
  set :linked_dirs, fetch(:linked_dirs, []).concat(fetch(:shared_dirs, []))
32
33
  .push(fetch(:uploads_dir, ""))
33
-
34
+
34
35
  %w[settings repository].each do |task|
35
36
  @config.deployment.send(task).symbolize_keys.each do |key, value|
36
37
  set key, proc { value }
@@ -41,9 +42,9 @@ module ThemeJuice
41
42
  puts err
42
43
  end
43
44
  end
44
- end
45
-
46
- # Optional namespaced settings
45
+ end
46
+
47
+ # Optional namespaced settings
47
48
  def configure_optional_settings
48
49
  %w[rsync slack].each do |task|
49
50
  if @config.deployment.key? task
@@ -52,7 +53,7 @@ module ThemeJuice
52
53
  end
53
54
  end
54
55
  end
55
- end
56
- end
57
- end
58
- end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module ThemeJuice
4
- VERSION = "0.16.7"
4
+ VERSION = "0.17.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: theme-juice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.7
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezekiel Gabrielse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-18 00:00:00.000000000 Z
11
+ date: 2015-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor