phase 1.0.0 → 1.0.1
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 +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:
|