|
1 | 1 | #!/bin/bash |
2 | 2 |
|
3 | | -sudo apt-get -y install python3-pip wget |
| 3 | +sudo apt-get -y install python3-pip wget jq |
4 | 4 | sudo pip3 install awscli |
5 | 5 | wget https://github.com/mikefarah/yq/releases/download/2.0.1/yq_linux_amd64 -O /tmp/yq |
6 | 6 | sudo mv /tmp/yq /usr/local/bin/yq |
7 | 7 | sudo chmod +x /usr/local/bin/yq |
8 | 8 |
|
9 | 9 | if [ -z "${AWS_REGION}" ]; then |
10 | | - AWS_REGION=us-west-2 |
| 10 | + AWS_REGION=us-west-2 |
11 | 11 | fi |
12 | 12 |
|
13 | | -if [ "${CLOUDFORMATION_AWS_ACCESS_KEY_ID}" ]; then |
14 | | - AWS_ACCESS_KEY_ID=${CLOUDFORMATION_AWS_ACCESS_KEY_ID} |
15 | | -fi |
| 13 | +ENVIRONMENT=staging |
| 14 | +SERVICE_DIR_NAME=.reaction/devops/aws/services |
| 15 | +export storefront_CIRCLE_SHA1=$CIRCLE_SHA1 |
16 | 16 |
|
17 | | -if [ "${CLOUDFORMATION_AWS_SECRET_ACCESS_KEY}" ]; then |
18 | | - AWS_SECRET_ACCESS_KEY=${CLOUDFORMATION_AWS_SECRET_ACCESS_KEY} |
19 | | -fi |
| 17 | +SERVICES=$(ls ${SERVICE_DIR_NAME}) |
| 18 | + |
| 19 | +for SERVICE in $SERVICES; do |
| 20 | + DISABLED=$(echo $SERVICE | grep disabled) |
| 21 | + if [ "${DISABLED}" == "${SERVICE}" ]; then |
| 22 | + continue |
| 23 | + fi |
| 24 | + echo "START PROCESSING SERVICE ${SERVICE}" |
| 25 | + |
| 26 | + cd ${SERVICE_DIR_NAME}/${SERVICE} |
| 27 | + |
| 28 | + PROPEL_CONFIG_FILE="propel-${ENVIRONMENT}.yaml" |
| 29 | + if [ ! -f ${PROPEL_CONFIG_FILE} ]; then |
| 30 | + echo "Propel configuration file not found!" |
| 31 | + exit 1 |
| 32 | + fi |
| 33 | + |
| 34 | + ENV_NAME_UPPERCASE=$(echo $ENVIRONMENT | awk '{print toupper($0)}') |
| 35 | + AWS_ACCESS_KEY_ID_VAR_NAME=CLOUDFORMATION_${ENV_NAME_UPPERCASE}_AWS_ACCESS_KEY_ID |
| 36 | + AWS_SECRET_ACCESS_KEY_VAR_NAME=CLOUDFORMATION_${ENV_NAME_UPPERCASE}_AWS_SECRET_ACCESS_KEY |
| 37 | + |
| 38 | + if [ "${!AWS_ACCESS_KEY_ID_VAR_NAME}" ]; then |
| 39 | + AWS_ACCESS_KEY_ID=${!AWS_ACCESS_KEY_ID_VAR_NAME} |
| 40 | + fi |
| 41 | + |
| 42 | + if [ "${!AWS_SECRET_ACCESS_KEY_VAR_NAME}" ]; then |
| 43 | + AWS_SECRET_ACCESS_KEY=${!AWS_SECRET_ACCESS_KEY_VAR_NAME} |
| 44 | + fi |
20 | 45 |
|
| 46 | + mkdir -p ~/.aws |
| 47 | + echo "[default]" > ~/.aws/credentials |
| 48 | + echo "aws_access_key_id = ${AWS_ACCESS_KEY_ID}" >> ~/.aws/credentials |
| 49 | + echo "aws_secret_access_key = ${AWS_SECRET_ACCESS_KEY}" >> ~/.aws/credentials |
21 | 50 |
|
22 | | -mkdir ~/.aws |
23 | | -echo "[default]" > ~/.aws/credentials |
24 | | -echo "aws_access_key_id = ${AWS_ACCESS_KEY_ID}" >> ~/.aws/credentials |
25 | | -echo "aws_secret_access_key = ${AWS_SECRET_ACCESS_KEY}" >> ~/.aws/credentials |
| 51 | + echo "[default]" > ~/.aws/config |
| 52 | + echo "region = ${AWS_REGION}" >> ~/.aws/config |
26 | 53 |
|
27 | | -echo "[default]" > ~/.aws/config |
28 | | -echo "region = ${AWS_REGION}" >> ~/.aws/config |
| 54 | + echo Running aws s3 cp s3://${S3_PROPEL_ARTIFACTS_BUCKET}/propel-linux-amd64 ./propel |
| 55 | + aws s3 cp s3://${S3_PROPEL_ARTIFACTS_BUCKET}/propel-linux-amd64 ./propel |
29 | 56 |
|
30 | | -aws s3 cp --recursive s3://${S3_ECS_DEPLOY_BUCKET}/staging/devops . |
| 57 | + sudo mv propel /usr/local/bin/propel |
| 58 | + sudo chmod +x /usr/local/bin/propel |
31 | 59 |
|
32 | | -find aws -name \*sh | xargs chmod +x |
33 | | -cd aws/app-starterkit |
34 | | -./update-app-stack.sh sk-service |
| 60 | + RELEASE_DESCRIPTION="CircleCI build URL: ${CIRCLE_BUILD_URL}" |
| 61 | + echo storefront_CIRCLE_SHA1=$storefront_CIRCLE_SHA1 |
| 62 | + propel release create --deploy --descr "${RELEASE_DESCRIPTION}" -f ${PROPEL_CONFIG_FILE} |
| 63 | + |
| 64 | + echo "END PROCESSING SERVICE ${SERVICE}" |
| 65 | + |
| 66 | + cd - |
| 67 | +done |
0 commit comments