17
17
parser .add_argument ('--build-folder' , help = "the location of the build folder, if not default location" )
18
18
parser .add_argument ('--username' , help = "credentials for dockerhub (REQUIRED if deleting from DockerHub)" )
19
19
parser .add_argument ('--password' , help = "credentials for dockerhub (REQUIRED if deleting from DockerHub)" )
20
+ parser .add_argument ('--org' , help = "Docker organization" , default = "opencb" )
20
21
21
22
## Some ANSI colors to print shell output
22
23
shell_colors = {
@@ -62,31 +63,31 @@ def build():
62
63
print_header ('Building docker images: ' + ', ' .join (images ))
63
64
for image in images :
64
65
print ()
65
- print (shell_colors ['blue' ] + "Building opencb /cellbase-" + image + ":" + tag + " ..." + shell_colors ['reset' ])
66
+ print (shell_colors ['blue' ] + "Building " + org + " /cellbase-" + image + ":" + tag + " ..." + shell_colors ['reset' ])
66
67
if image == "base" :
67
- run ("docker build -t opencb /cellbase-" + image + ":" + tag + " -f " + build_folder + "/cloud/docker/cellbase-" + image + "/Dockerfile " + build_folder )
68
+ run ("docker build -t " + org + " /cellbase-" + image + ":" + tag + " -f " + build_folder + "/cloud/docker/cellbase-" + image + "/Dockerfile " + build_folder )
68
69
else :
69
- run ("docker build -t opencb /cellbase-" + image + ":" + tag + " -f " + build_folder + "/cloud/docker/cellbase-" + image + "/Dockerfile --build-arg TAG=" + tag + " " + build_folder )
70
+ run ("docker build -t " + org + " /cellbase-" + image + ":" + tag + " -f " + build_folder + "/cloud/docker/cellbase-" + image + "/Dockerfile --build-arg TAG=" + tag + " " + build_folder )
70
71
71
72
72
73
def tag_latest (image ):
73
- latest_tag = os .popen (("curl -s https://registry.hub.docker.com/v1/repositories/opencb /cellbase-" + image + "/tags"
74
+ latest_tag = os .popen (("curl -s https://registry.hub.docker.com/v1/repositories/" + org + " /cellbase-" + image + "/tags"
74
75
+ " | jq -r .[].name"
75
76
+ " | grep -v latest"
76
77
+ " | sort -h"
77
78
+ " | head" ))
78
79
if tag >= latest_tag .read ():
79
- print (shell_colors ['blue' ] + "Pushing opencb /cellbase-" + image + ":latest" + shell_colors ['reset' ])
80
- run ("docker tag opencb /cellbase-" + image + ":" + tag + " opencb /cellbase-" + image + ":latest" )
81
- run ("docker push opencb /cellbase-" + image + ":latest" )
80
+ print (shell_colors ['blue' ] + "Pushing " + org + " /cellbase-" + image + ":latest" + shell_colors ['reset' ])
81
+ run ("docker tag " + org + " /cellbase-" + image + ":" + tag + " " + org + " /cellbase-" + image + ":latest" )
82
+ run ("docker push " + org + " /cellbase-" + image + ":latest" )
82
83
83
84
84
85
def push ():
85
86
print_header ('Pushing to DockerHub: ' + ', ' .join (images ))
86
87
for i in images :
87
88
print ()
88
- print (shell_colors ['blue' ] + "Pushing opencb /cellbase-" + i + ":" + tag + " ..." + shell_colors ['reset' ])
89
- run ("docker push opencb /cellbase-" + i + ":" + tag )
89
+ print (shell_colors ['blue' ] + "Pushing " + org + " /cellbase-" + i + ":" + tag + " ..." + shell_colors ['reset' ])
90
+ run ("docker push " + org + " /cellbase-" + i + ":" + tag )
90
91
tag_latest (i )
91
92
92
93
@@ -104,11 +105,11 @@ def delete():
104
105
error ("dockerhub login failed" )
105
106
for i in images :
106
107
print ()
107
- print (shell_colors ['blue' ] + 'Deleting image on Docker hub for opencb /cellbase-' + i + ':' + tag + shell_colors ['reset' ])
108
+ print (shell_colors ['blue' ] + 'Deleting image on Docker hub for ' + org + ' /cellbase-' + i + ':' + tag + shell_colors ['reset' ])
108
109
headers = {
109
110
'Authorization' : 'JWT ' + json_response ["token" ]
110
111
}
111
- requests .delete ('https://hub.docker.com/v2/repositories/opencb /cellbase-' + i + '/tags/' + tag + '/' , headers = headers )
112
+ requests .delete ('https://hub.docker.com/v2/repositories/' + org + ' /cellbase-' + i + '/tags/' + tag + '/' , headers = headers )
112
113
113
114
114
115
## Parse command-line parameters and init basedir, tag and build_folder
@@ -144,6 +145,11 @@ def delete():
144
145
else :
145
146
images = args .images .split ("," )
146
147
148
+ # 5. Set docker org to default value if not set
149
+ if args .org is not None :
150
+ org = args .org
151
+ else :
152
+ org = "opencb"
147
153
148
154
## Execute the action
149
155
if args .action == "build" :
0 commit comments