-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild_and_push.rb
executable file
·117 lines (100 loc) · 5.11 KB
/
build_and_push.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/usr/bin/env ruby
# frozen_string_literal: true
BUILD_ONLY = false
GIT_REPO = "https://github.com/Phala-Network/khala-parachain.git"
GIT_TAG = "v0.1.25-dev.1"
COMMON_TAG = GIT_TAG
KHALA_NODE_BIN_DOCKER_REPO = "khala-node-bin"
KHALA_NODE_BIN_DOCKER_TAG = COMMON_TAG
KHALA_NODE_BIN_GIT_TAG = GIT_TAG
PHALA_NODE_BIN_DOCKER_REPO = "phala-node-bin"
PHALA_NODE_BIN_DOCKER_TAG = COMMON_TAG
PHALA_NODE_BIN_GIT_TAG = GIT_TAG
# Old one
KHALA_NODE_DOCKER_REPO = "khala-node"
KHALA_NODE_DOCKER_TAG = KHALA_NODE_BIN_DOCKER_TAG
# Old one
PHALA_NODE_DOCKER_REPO = "phala-node"
PHALA_NODE_DOCKER_TAG = PHALA_NODE_BIN_DOCKER_TAG
KHALA_NODE_WITH_LAUNCHER_DOCKER_REPO = "khala-node-with-launcher"
KHALA_NODE_WITH_LAUNCHER_DOCKER_TAG = KHALA_NODE_BIN_DOCKER_TAG
PHALA_NODE_WITH_LAUNCHER_DOCKER_REPO = "phala-node-with-launcher"
PHALA_NODE_WITH_LAUNCHER_DOCKER_TAG = PHALA_NODE_BIN_DOCKER_TAG
REGISTRIES = [
"jasl123",
# "phalanetwork",
# "swr.cn-east-3.myhuaweicloud.com/phala",
# "ghcr.io/phala-network/khala-node"
]
require "open3"
def run(cmd)
Open3.popen2e(cmd) do |_stdin, stdout_err, wait_thr|
while (line = stdout_err.gets)
puts line
end
exit_status = wait_thr.value
unless exit_status.success?
abort "error"
end
end
end
# Build Khala-Node
REGISTRIES.each do |registry|
[
"docker build --build-arg PHALA_GIT_REPO=#{GIT_REPO} --build-arg PHALA_GIT_TAG=#{KHALA_NODE_BIN_GIT_TAG} -f node-bin.Dockerfile -t #{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg PHALA_GIT_REPO=#{GIT_REPO} --build-arg PHALA_GIT_TAG=#{KHALA_NODE_BIN_GIT_TAG} -f node-bin.Dockerfile -t #{registry}/#{KHALA_NODE_BIN_DOCKER_REPO} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} -f khala-node-with-launcher.Dockerfile -t #{registry}/#{KHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} -f khala-node-with-launcher.Dockerfile -t #{registry}/#{KHALA_NODE_WITH_LAUNCHER_DOCKER_REPO} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} -f khala-node.Dockerfile -t #{registry}/#{KHALA_NODE_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG} -f khala-node.Dockerfile -t #{registry}/#{KHALA_NODE_DOCKER_REPO} ."
].each do |cmd|
puts cmd
run cmd
end
end
unless BUILD_ONLY
# Push Khala-Node
REGISTRIES.each do |registry|
[
"docker push #{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}:#{KHALA_NODE_BIN_DOCKER_TAG}",
"docker push #{registry}/#{KHALA_NODE_BIN_DOCKER_REPO}",
"docker push #{registry}/#{KHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}:#{KHALA_NODE_WITH_LAUNCHER_DOCKER_TAG}",
"docker push #{registry}/#{KHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}",
"docker push #{registry}/#{KHALA_NODE_DOCKER_REPO}:#{KHALA_NODE_DOCKER_TAG}",
"docker push #{registry}/#{KHALA_NODE_DOCKER_REPO}"
].each do |cmd|
puts cmd
run cmd
end
end
end
# Build Phala-Node
REGISTRIES.each do |registry|
[
"docker build --build-arg PHALA_GIT_REPO=#{GIT_REPO} --build-arg PHALA_GIT_TAG=#{PHALA_NODE_BIN_GIT_TAG} -f node-bin.Dockerfile -t #{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg PHALA_GIT_REPO=#{GIT_REPO} --build-arg PHALA_GIT_TAG=#{PHALA_NODE_BIN_GIT_TAG} -f node-bin.Dockerfile -t #{registry}/#{PHALA_NODE_BIN_DOCKER_REPO} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} -f phala-node-with-launcher.Dockerfile -t #{registry}/#{PHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} -f phala-node-with-launcher.Dockerfile -t #{registry}/#{PHALA_NODE_WITH_LAUNCHER_DOCKER_REPO} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} -f phala-node.Dockerfile -t #{registry}/#{PHALA_NODE_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} .",
"docker build --build-arg NODE_BIN_IMAGE=#{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG} -f phala-node.Dockerfile -t #{registry}/#{PHALA_NODE_DOCKER_REPO} ."
].each do |cmd|
puts cmd
run cmd
end
end
unless BUILD_ONLY
# Push Phala-Node
REGISTRIES.each do |registry|
[
"docker push #{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}:#{PHALA_NODE_BIN_DOCKER_TAG}",
"docker push #{registry}/#{PHALA_NODE_BIN_DOCKER_REPO}",
"docker push #{registry}/#{PHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}:#{PHALA_NODE_WITH_LAUNCHER_DOCKER_TAG}",
"docker push #{registry}/#{PHALA_NODE_WITH_LAUNCHER_DOCKER_REPO}",
"docker push #{registry}/#{PHALA_NODE_DOCKER_REPO}:#{PHALA_NODE_DOCKER_TAG}",
"docker push #{registry}/#{PHALA_NODE_DOCKER_REPO}"
].each do |cmd|
puts cmd
run cmd
end
end
end