mirror of
https://github.com/modelscope/modelscope.git
synced 2026-09-01 19:49:03 +02:00
support tag ci_image (#1112)
This commit is contained in:
@@ -61,6 +61,9 @@ class Builder:
|
||||
def push(self) -> int:
|
||||
pass
|
||||
|
||||
def image(self) -> str:
|
||||
pass
|
||||
|
||||
def __call__(self):
|
||||
content = self.generate_dockerfile()
|
||||
self._save_dockerfile(content)
|
||||
@@ -68,10 +71,18 @@ class Builder:
|
||||
ret = self.build()
|
||||
if ret != 0:
|
||||
raise RuntimeError(f'Docker build error with errno: {ret}')
|
||||
|
||||
ret = self.push()
|
||||
if ret != 0:
|
||||
raise RuntimeError(f'Docker push error with errno: {ret}')
|
||||
|
||||
if self.args.ci_image != 0:
|
||||
ret = os.system(
|
||||
f'docker tag {self.image()} {docker_registry}:ci_image')
|
||||
if ret != 0:
|
||||
raise RuntimeError(
|
||||
f'Docker tag ci_image error with errno: {ret}')
|
||||
|
||||
|
||||
class BaseCPUImageBuilder(Builder):
|
||||
|
||||
@@ -87,18 +98,18 @@ class BaseCPUImageBuilder(Builder):
|
||||
content = content.replace('{tf_version}', self.args.tf_version)
|
||||
return content
|
||||
|
||||
def build(self):
|
||||
image_tag = (
|
||||
def image(self) -> str:
|
||||
return (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-base')
|
||||
|
||||
def build(self):
|
||||
return os.system(
|
||||
f'DOCKER_BUILDKIT=0 docker build -t {image_tag} -f Dockerfile .')
|
||||
f'DOCKER_BUILDKIT=0 docker build -t {self.image()} -f Dockerfile .'
|
||||
)
|
||||
|
||||
def push(self):
|
||||
image_tag = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-base')
|
||||
return os.system(f'docker push {image_tag}')
|
||||
return os.system(f'docker push {self.image()}')
|
||||
|
||||
|
||||
class BaseGPUImageBuilder(Builder):
|
||||
@@ -115,18 +126,18 @@ class BaseGPUImageBuilder(Builder):
|
||||
content = content.replace('{tf_version}', self.args.tf_version)
|
||||
return content
|
||||
|
||||
def build(self) -> int:
|
||||
image_tag = (
|
||||
def image(self) -> str:
|
||||
return (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-tf{self.args.tf_version}-base')
|
||||
|
||||
def build(self) -> int:
|
||||
return os.system(
|
||||
f'DOCKER_BUILDKIT=0 docker build -t {image_tag} -f Dockerfile .')
|
||||
f'DOCKER_BUILDKIT=0 docker build -t {self.image()} -f Dockerfile .'
|
||||
)
|
||||
|
||||
def push(self):
|
||||
image_tag = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-tf{self.args.tf_version}-base')
|
||||
return os.system(f'docker push {image_tag}')
|
||||
return os.system(f'docker push {self.image()}')
|
||||
|
||||
|
||||
class CPUImageBuilder(Builder):
|
||||
@@ -162,26 +173,24 @@ class CPUImageBuilder(Builder):
|
||||
content = content.replace('{swift_branch}', self.args.swift_branch)
|
||||
return content
|
||||
|
||||
def build(self) -> int:
|
||||
image_tag = (
|
||||
def image(self) -> str:
|
||||
return (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-{self.args.modelscope_version}-test'
|
||||
)
|
||||
return os.system(f'docker build -t {image_tag} -f Dockerfile .')
|
||||
|
||||
def build(self) -> int:
|
||||
return os.system(f'docker build -t {self.image()} -f Dockerfile .')
|
||||
|
||||
def push(self):
|
||||
image_tag = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-{self.args.modelscope_version}-test'
|
||||
)
|
||||
ret = os.system(f'docker push {image_tag}')
|
||||
ret = os.system(f'docker push {self.image()}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
image_tag2 = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-{self.args.python_tag}-'
|
||||
f'torch{self.args.torch_version}-{self.args.modelscope_version}-{formatted_time}-test'
|
||||
)
|
||||
ret = os.system(f'docker tag {image_tag} {image_tag2}')
|
||||
ret = os.system(f'docker tag {self.image()} {image_tag2}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
return os.system(f'docker push {image_tag2}')
|
||||
@@ -224,26 +233,24 @@ RUN pip install tf-keras==2.16.0 --no-dependencies && \
|
||||
content = content.replace('{swift_branch}', self.args.swift_branch)
|
||||
return content
|
||||
|
||||
def build(self) -> int:
|
||||
image_tag = (
|
||||
def image(self) -> str:
|
||||
return (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-tf{self.args.tf_version}-'
|
||||
f'{self.args.modelscope_version}-test')
|
||||
return os.system(f'docker build -t {image_tag} -f Dockerfile .')
|
||||
|
||||
def build(self) -> int:
|
||||
return os.system(f'docker build -t {self.image()} -f Dockerfile .')
|
||||
|
||||
def push(self):
|
||||
image_tag = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-tf{self.args.tf_version}-'
|
||||
f'{self.args.modelscope_version}-test')
|
||||
ret = os.system(f'docker push {image_tag}')
|
||||
ret = os.system(f'docker push {self.image()}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
image_tag2 = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-tf{self.args.tf_version}-'
|
||||
f'{self.args.modelscope_version}-{formatted_time}-test')
|
||||
ret = os.system(f'docker tag {image_tag} {image_tag2}')
|
||||
ret = os.system(f'docker tag {self.image()} {image_tag2}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
return os.system(f'docker push {image_tag2}')
|
||||
@@ -298,26 +305,24 @@ class LLMImageBuilder(Builder):
|
||||
content = content.replace('{swift_branch}', self.args.swift_branch)
|
||||
return content
|
||||
|
||||
def build(self) -> int:
|
||||
image_tag = (
|
||||
def image(self) -> str:
|
||||
return (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-{self.args.modelscope_version}-LLM-test'
|
||||
)
|
||||
return os.system(f'docker build -t {image_tag} -f Dockerfile .')
|
||||
|
||||
def build(self) -> int:
|
||||
return os.system(f'docker build -t {self.image()} -f Dockerfile .')
|
||||
|
||||
def push(self):
|
||||
image_tag = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-{self.args.modelscope_version}-LLM-test'
|
||||
)
|
||||
ret = os.system(f'docker push {image_tag}')
|
||||
ret = os.system(f'docker push {self.image()}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
image_tag2 = (
|
||||
f'{docker_registry}:ubuntu{self.args.ubuntu_version}-cuda{self.args.cuda_version}-'
|
||||
f'{self.args.python_tag}-torch{self.args.torch_version}-'
|
||||
f'{self.args.modelscope_version}-LLM-{formatted_time}-test')
|
||||
ret = os.system(f'docker tag {image_tag} {image_tag2}')
|
||||
ret = os.system(f'docker tag {self.image()} {image_tag2}')
|
||||
if ret != 0:
|
||||
return ret
|
||||
return os.system(f'docker push {image_tag2}')
|
||||
@@ -331,6 +336,7 @@ parser.add_argument('--ubuntu_version', type=str, default='22.04')
|
||||
parser.add_argument('--torch_version', type=str, default=None)
|
||||
parser.add_argument('--torchvision_version', type=str, default=None)
|
||||
parser.add_argument('--cuda_version', type=str, default=None)
|
||||
parser.add_argument('--ci_image', type=int, default=0)
|
||||
parser.add_argument('--torchaudio_version', type=str, default=None)
|
||||
parser.add_argument('--tf_version', type=str, default=None)
|
||||
parser.add_argument('--vllm_version', type=str, default=None)
|
||||
|
||||
Reference in New Issue
Block a user