pipeline { agent any environment { EXPORT_TEMPLATE_NAME = 'template-export.yml' PYTHONUNBUFFERED = 'TRUE' SAGEMAKER_PROJECT_NAME_ID = """${sh( returnStdout: true, script: 'echo "${SAGEMAKER_PROJECT_NAME}-${SAGEMAKER_PROJECT_ID}"' ).trim()}""" } stages { stage('Install') { steps { sh 'pip3 install --upgrade --force-reinstall "botocore>1.21.30" "boto3>1.18.30" "awscli>1.20.30"' } } stage('Update and Run Sagemaker Pipeline') { steps { withAWS(credentials:"${AWS_CREDENTIAL}",region:"${AWS_REGION}") { sh '''export PATH="$HOME/.local/$SAGEMAKER_PROJECT_NAME_ID/bin:$PATH" export PYTHONPATH="$HOME/.local/$SAGEMAKER_PROJECT_NAME_ID:$PYTHONPATH" run-pipeline --module-name pipelines.deploy.pipeline \ --role-arn ${SAGEMAKER_PIPELINE_ROLE_ARN} \ --tags "[{\\"Key\\":\\"sagemaker:project-name\\", \\"Value\\":\\"${SAGEMAKER_PROJECT_NAME}\\"}, {\\"Key\\":\\"sagemaker:project-id\\", \\"Value\\":\\"${SAGEMAKER_PROJECT_ID}\\"}]" \ --kwargs "{\\"region\\":\\"${AWS_REGION}\\",\\"sagemaker_project_arn\\":\\"${SAGEMAKER_PROJECT_ARN}\\",\\"role\\":\\"${SAGEMAKER_PIPELINE_ROLE_ARN}\\",\\"default_bucket\\":\\"${ARTIFACT_BUCKET}\\",\\"pipeline_name\\":\\"${SAGEMAKER_PROJECT_NAME_ID}\\",\\"model_package_group_name\\":\\"${SAGEMAKER_PROJECT_NAME_ID}\\",\\"base_job_prefix\\":\\"${SAGEMAKER_PROJECT_NAME_ID}\\"}"''' sh '''export PATH="$HOME/.local/bin:$PATH" aws cloudformation package --template endpoint-config-template.yml \ --s3-bucket $ARTIFACT_BUCKET --output-template $EXPORT_TEMPLATE_NAME ''' echo "Create/Update of the SageMaker Pipeline and execution completed." } } } } }