Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Variables
- PROJECT_NAME="${PROJECT_NAME:=${CIRCLE_PROJECT_REPONAME}}"
- ARTIFACT_NAME="${PROJECT_NAME}-${CIRCLE_TAG:=${CIRCLE_BRANCH}@${CIRCLE_SHA1}}"
- ARTIFACT_PATH="${CIRCLE_ARTIFACTS}/${ARTIFACT_NAME}.zip"
- ARTIFACT_DESCRIPTION=$(git log --format=oneline -n 1 "${CIRCLE_SHA1}")
- AWS_S3_BUCKET=${AWS_S3_BUCKET:=${PROJECT_NAME}-eb}
- AWS_EB_ENVIRONMENT=(${1:?'Please select an environment!'})
- # Create artefact
- zip -x .git\* -x node_modules\* -x vendor\* -r "${ARTIFACT_PATH}" .
- # Push artefact to s3
- aws s3 cp "${ARTIFACT_PATH}" "s3://${AWS_S3_BUCKET}/versions/${ARTIFACT_NAME}.zip"
- # Push to eb
- aws elasticbeanstalk create-application-version \
- --application-name "${PROJECT_NAME}" \
- --description "${ARTIFACT_DESCRIPTION}" \
- --source-bundle "S3Bucket=${AWS_S3_BUCKET},S3Key=versions/${ARTIFACT_NAME}.zip" \
- --version-label "${ARTIFACT_NAME}"
- aws elasticbeanstalk update-environment \
- --application-name "${PROJECT_NAME}" \
- --environment-name "${AWS_EB_ENVIRONMENT}" \
- --version-label "${ARTIFACT_NAME}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement