phase 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/phase/config/deploy.rb +1 -1
- data/lib/phase/kit/deploy/build.rb +2 -41
- data/lib/phase/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b98166c521639cc9a17b9c261d187ce338115b0
|
4
|
+
data.tar.gz: 12531f8dcc6ce6107df04dbe395727b90ab95310
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83fdd520be80187641bd67d6d2ff972d5fc12a0b71641dadc97ae26a68efa7d215f189501ed57e4996e9c7bad0a69d7dbd51b8f5973da79437a22a360ecd5864
|
7
|
+
data.tar.gz: 7f660c96a4f6dcb297b4b6e7647ab3cbd5ccab1f45c340534c099387bd3c69d4c44dffcc6e7b5d664d75e478ae9bc31a1fd150264814b5c82ee4dd5eeb3749bd
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1.0.1
|
data/lib/phase/config/deploy.rb
CHANGED
@@ -27,7 +27,7 @@ module Phase
|
|
27
27
|
|
28
28
|
# @return [String] any options or switches to be passed to the Docker daemon at runtime
|
29
29
|
# @example Sample settings
|
30
|
-
# config.deploy.
|
30
|
+
# config.deploy.docker_run_flags = "-v /dir:/dir -e VAR=value --env-file=.environment"
|
31
31
|
attr_accessor :docker_run_flags
|
32
32
|
|
33
33
|
|
@@ -51,8 +51,8 @@ module Phase
|
|
51
51
|
|
52
52
|
shell("docker ps > /dev/null 2>&1") do |status|
|
53
53
|
fail <<-EOS.strip_heredoc
|
54
|
-
Docker isn't responding. Is
|
55
|
-
|
54
|
+
Docker isn't responding. Is docker-machine running? Try:
|
55
|
+
docker-machine start dev && eval $(docker-machine env dev)
|
56
56
|
EOS
|
57
57
|
end
|
58
58
|
|
@@ -70,12 +70,6 @@ module Phase
|
|
70
70
|
::Phase.config.deploy.docker_repository
|
71
71
|
end
|
72
72
|
|
73
|
-
def last_committed_mtime_for_file(file_path)
|
74
|
-
rev_hash = `git rev-list HEAD "#{file_path}" | head -n 1`.chomp
|
75
|
-
time_str = `git show --pretty=format:%ai --abbrev-commit #{rev_hash} | head -n 1`.chomp
|
76
|
-
::DateTime.parse(time_str).to_time
|
77
|
-
end
|
78
|
-
|
79
73
|
# FIXME: This approach isn't ideal because it compiles assets in the *working* git
|
80
74
|
# directory rather than building in a clean, committed environment. This could lead
|
81
75
|
# to errors in the compiled assets.
|
@@ -88,7 +82,6 @@ module Phase
|
|
88
82
|
def prepare_clean_build
|
89
83
|
remove_stale_build_dir!
|
90
84
|
clone_local_git_repo
|
91
|
-
# set_file_modification_timestamps
|
92
85
|
end
|
93
86
|
|
94
87
|
# This needs to run *before* the version gets updated so we know which version
|
@@ -113,38 +106,6 @@ module Phase
|
|
113
106
|
::FileUtils.rm_rf(build_dir)
|
114
107
|
end
|
115
108
|
|
116
|
-
def set_file_modification_timestamps
|
117
|
-
log("Preparing docker cache...")
|
118
|
-
|
119
|
-
# Threadsafe queue for multiple threads to pull from
|
120
|
-
queue = ::Queue.new
|
121
|
-
|
122
|
-
::FileUtils.cd(build_dir) do
|
123
|
-
# Sets consistent mtime on directories because docker cares about that too
|
124
|
-
shell("find . -type d | xargs touch -t 7805200000")
|
125
|
-
|
126
|
-
files = `git ls-files`.split
|
127
|
-
files.each { |f| queue.push(f) }
|
128
|
-
|
129
|
-
bar = ::ProgressBar.new("Setting mtimes", files.count)
|
130
|
-
|
131
|
-
threads = 4.times.map do |idx|
|
132
|
-
::Thread.new do
|
133
|
-
begin
|
134
|
-
while path = queue.pop(true)
|
135
|
-
::FileUtils.touch(path, mtime: last_committed_mtime_for_file(path))
|
136
|
-
bar.inc
|
137
|
-
end
|
138
|
-
rescue ThreadError
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
threads.each(&:join)
|
144
|
-
bar.finish
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
109
|
def sync_assets
|
149
110
|
bucket = ::Phase.config.deploy.asset_bucket
|
150
111
|
return log("Set `deploy.asset_bucket` in Phasefile to enable asset syncing") if bucket.blank?
|
data/lib/phase/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piers Mainwaring
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: commander
|
@@ -261,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
261
|
version: '0'
|
262
262
|
requirements: []
|
263
263
|
rubyforge_project:
|
264
|
-
rubygems_version: 2.
|
264
|
+
rubygems_version: 2.4.5
|
265
265
|
signing_key:
|
266
266
|
specification_version: 4
|
267
267
|
summary: A simple way to manage cloud instances within a multi-subnet network, like
|
@@ -269,4 +269,3 @@ summary: A simple way to manage cloud instances within a multi-subnet network, l
|
|
269
269
|
test_files:
|
270
270
|
- spec/dsl_spec.rb
|
271
271
|
- spec/spec_helper.rb
|
272
|
-
has_rdoc:
|