From 90f58305b2976edbff163bc83d7c7da59e4dda3b Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Wed, 21 Aug 2024 13:22:48 -0400 Subject: [PATCH] Remove Docker bundling in SageMaker model pkg promote pipeline (#228) This removes the custom Docker image used for bundling assets in the SageMaker model package promote pipeline stack. It is unnecessary since the s3_assets.Asset` construct can natively zip a directory via the path argument. --- CHANGELOG.md | 1 + .../images/zip-image/Dockerfile | 3 -- .../stack.py | 35 +++---------------- 3 files changed, 6 insertions(+), 33 deletions(-) delete mode 100644 modules/sagemaker/sagemaker-model-package-promote-pipeline/images/zip-image/Dockerfile diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d8a731..6bb2122c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - increased timeout on finetune_llm_evaluation project from 1 hour (default) to 4 hours - pin `ray-operator`, `ray-cluster`, and `ray-image` modules versions - pin module versions for all manifests +- the `sagemaker/sagemaker-model-package-promote-pipeline` module no longer generates a Docker image ## v1.4.0 diff --git a/modules/sagemaker/sagemaker-model-package-promote-pipeline/images/zip-image/Dockerfile b/modules/sagemaker/sagemaker-model-package-promote-pipeline/images/zip-image/Dockerfile deleted file mode 100644 index eaa6cb07..00000000 --- a/modules/sagemaker/sagemaker-model-package-promote-pipeline/images/zip-image/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM public.ecr.aws/docker/library/alpine:latest - -RUN apk --no-cache add zip make diff --git a/modules/sagemaker/sagemaker-model-package-promote-pipeline/sagemaker_model_package_promote_pipeline/stack.py b/modules/sagemaker/sagemaker-model-package-promote-pipeline/sagemaker_model_package_promote_pipeline/stack.py index 3ec3ee24..72421e3c 100644 --- a/modules/sagemaker/sagemaker-model-package-promote-pipeline/sagemaker_model_package_promote_pipeline/stack.py +++ b/modules/sagemaker/sagemaker-model-package-promote-pipeline/sagemaker_model_package_promote_pipeline/stack.py @@ -95,7 +95,11 @@ def setup_resources(self) -> None: self.kms_key = kms.Key.from_key_arn(self, "KMSKey", self.kms_key_arn) if self.kms_key_arn else None - self.code_asset = self.setup_code_assets() + self.code_asset = s3_assets.Asset( + self, + "CodeAsset", + path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "seed_code"), + ) self.pipeline = self.setup_pipeline() self.rule = self.setup_events() @@ -287,35 +291,6 @@ def setup_pipeline_deploy_project(self, metadata_path: str) -> codebuild.Pipelin return project - def setup_code_assets(self) -> s3_assets.Asset: - """Deploy seed code to an S3 bucket. - - Returns - ------- - A Asset instance. - """ - zip_image = cdk.DockerImage.from_build("images/zip-image") - path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "seed_code") - - bundling = cdk.BundlingOptions( - image=zip_image, - command=[ - "sh", - "-c", - """zip -r /asset-output/code_asset.zip .""", - ], - output_type=cdk.BundlingOutput.ARCHIVED, - ) - - code_asset = s3_assets.Asset( - self, - "CodeAsset", - path=path, - bundling=bundling, - ) - - return code_asset - def setup_events(self) -> Optional[events.Rule]: """Setup an event rule