33WORKSPACE=$1
44DEPLOY_DIR=$2
55SERVICE=$3
6+ APINAME=$3 # ap-review
7+ CONFIG=$4
68ENV=$4
79
10+
11+ REPO=" ${SERVICE} -microservice"
12+ TAG=" ${REPO} :${CONFIG} .${VER} "
13+ IMAGE=" ${REGISTRY} /${TAG} "
14+
15+
816DOCKER_REPO=appiriodevops
917VER=` date " +%Y%m%d%H%M" `
1018IMAGE=" $SERVICE -microservice:$ENV .$VER "
19+
1120DOCKERRUN_TEMPLATE=$DEPLOY_DIR /Dockerrun.aws.json.template
1221DOCKERRUN=$DEPLOY_DIR /Dockerrun.aws.json
1322AWS_S3_BUCKET=appirio-platform-dev
1423AWS_PROFILE=" tc-$ENV "
1524AWS_S3_KEY=" services/docker/$IMAGE "
1625ENV_JAVA_PARAMS=" "
26+ ENV_CONFIG=` echo " $ENV " | tr ' [:lower:]' ' [:upper:]' `
27+
28+ AWS_REGION=$( eval " echo \$ ${ENV_CONFIG} _AWS_REGION" )
29+ AWS_ACCESS_KEY_ID=$( eval " echo \$ ${ENV_CONFIG} _AWS_ACCESS_KEY_ID" )
30+ AWS_SECRET_ACCESS_KEY=$( eval " echo \$ ${ENV_CONFIG} _AWS_SECRET_ACCESS_KEY" )
31+
32+ configure_aws_cli () {
33+ aws --version
34+ aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
35+ aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
36+ aws configure set default.region $AWS_REGION
37+ aws configure set default.output json
38+ echo " Configured AWS CLI."
39+ }
40+
41+ configure_aws_cli
1742
1843# Elastic Beanstalk Application name
1944# dev
@@ -40,24 +65,49 @@ echo "Copying deployment files to build folder"
4065cp $WORKSPACE /service/target/review-microservice* .jar review-microservice.jar
4166cp $WORKSPACE /service/src/main/resources/review-service.yaml review-service.yaml
4267
68+ echo " Generating Docker aws json......."
69+ PLATFORM_BUCKET=appirio-platform-$CONFIG
70+ EBDOCKER_FILENAME=${APINAME} -${CONFIG} .${VER} .aws.json
71+ cat $WORKSPACE /service/build/Dockerrun.aws.json.template | sed -e " s/@IMAGE@/${IMAGE} /g" > ./$EBDOCKER_FILENAME
72+ cat ./$EBDOCKER_FILENAME
73+
74+ echo " copying beanstalk docker file..."
75+ aws s3 cp $EBDOCKER_FILENAME s3://$PLATFORM_BUCKET /services/elasticbeanstalk/
76+
77+ echo " copying dockercfg......"
78+ aws s3 cp " s3://appirio-platform-$ENV /services/common/dockercfg" ~ /.dockercfg
79+ # eval $(aws ecr get-login --region $AWS_REGION --no-include-email)
80+ # Builds Docker image of the app.
81+ # TAG=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$AWS_REPOSITORY:$CIRCLE_SHA1
82+
4383echo " Building docker image $DOCKER_REPO /$IMAGE "
4484docker build -t $DOCKER_REPO /$IMAGE $DEPLOY_DIR
4585
4686echo " Pushing image to docker $DOCKER_REPO /$IMAGE "
4787# docker login -u ykohata
4888docker push $DOCKER_REPO /$IMAGE
4989
50- echo " Generating dockerrun file"
51- cat $DOCKERRUN_TEMPLATE | sed -e " s/@IMAGE@/${IMAGE} /g" > $DOCKERRUN
90+ # echo "Generating dockerrun file"
91+ # cat $DOCKERRUN_TEMPLATE | sed -e "s/@IMAGE@/${IMAGE}/g" > $DOCKERRUN
92+
93+ # echo "Uploading dockerrun file to aws"
94+
95+ # echo "Pushing Dockerrun.aws.json to S3: ${AWS_S3_BUCKET}/${AWS_S3_KEY}"
96+ # aws s3api put-object --bucket "${AWS_S3_BUCKET}" --key "${AWS_S3_KEY}" --body $DOCKERRUN
5297
53- echo " Uploading dockerrun file to aws "
98+ # EBVERSION=${APINAME}-${CONFIG}.${VER}
5499
55- echo " Pushing Dockerrun.aws.json to S3: ${AWS_S3_BUCKET} /${AWS_S3_KEY} "
56- aws s3api put-object --profile $AWS_PROFILE --bucket " ${AWS_S3_BUCKET} " --key " ${AWS_S3_KEY} " --body $DOCKERRUN
100+ # aws elasticbeanstalk create-application-version --application-name ${APPNAME} --version-label ${EBVERSION} --source-bundle S3Bucket=${PLATFORM_BUCKET},S3Key=services/elasticbeanstalk/$EBDOCKER_FILENAME
101+
102+ # echo "Creating new application version $IMAGE in $APPNAME from s3:${AWS_S3_BUCKET}/${AWS_S3_KEY}"
103+ # aws elasticbeanstalk create-application-version --application-name $APPNAME --version-label $IMAGE --source-bundle S3Bucket="$AWS_S3_BUCKET",S3Key="$AWS_S3_KEY"
104+
105+ # assumes beanstalk app for this service has already been created and configured
106+ # aws elasticbeanstalk update-environment --environment-name $APINAME --version-label $EBVERSION
57107
58- echo " Creating new application version $IMAGE in $APPNAME from s3: ${AWS_S3_BUCKET} / ${AWS_S3_KEY} "
59- aws elasticbeanstalk create-application-version --profile $AWS_PROFILE -- application-name $APPNAME --version-label $IMAGE --source-bundle S3Bucket=" $AWS_S3_BUCKET " ,S3Key=" $AWS_S3_KEY "
108+ echo " Creating new EBS application version \n "
109+ aws elasticbeanstalk create-application-version --application-name $APPNAME --version-label $IMAGE --source-bundle S3Bucket=${PLATFORM_BUCKET} ,S3Key=services/elasticbeanstalk/ $EBDOCKER_FILENAME
60110
61- echo " updating elastic beanstalk environment ${AWS_EB_ENV} with the version $IMAGE . "
111+ echo " Updating EBS with the version $IMAGE \n "
62112# assumes beanstalk app for this service has already been created and configured
63- aws elasticbeanstalk --profile $AWS_PROFILE update-environment --environment-name $SERVICE -$ENV --version-label $IMAGE
113+ aws elasticbeanstalk update-environment --environment-name $SERVICE -$ENV --version-label $IMAGE
0 commit comments