pipeline { agent any environment { PYTHONUNBUFFERED = 'TRUE' SAGEMAKER_PROJECT_NAME_ID = """${sh( returnStdout: true, script: 'echo "${SAGEMAKER_PROJECT_NAME}-${SAGEMAKER_PROJECT_ID}"' ).trim()}""" } stages { stage('Build and Install') { steps { sh '''pip3 install --upgrade --force-reinstall --target $HOME/.local/$SAGEMAKER_PROJECT_NAME_ID . "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.preprocess.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}\\",\\"base_job_prefix\\":\\"${SAGEMAKER_PROJECT_NAME_ID}\\"}"''' echo "Create/Update of the SageMaker Pipeline and execution completed." } } } } }