@@ -313,31 +313,54 @@ else
313
313
fi
314
314
315
315
316
-
317
- # ----- Compressing Source -----
316
+ # ----- Application Source -----
317
+ h1 " Step 6: Checking Application Source "
318
318
APP_SOURCE=$( readlink -f " ${AWS_CODE_DEPLOY_APP_SOURCE:- .} " )
319
- APP_LOCAL_FILE=" ${AWS_CODE_DEPLOY_S3_FILENAME% .* } .zip"
320
- DEPLOYMENT_COMPRESS_ORIG_DIR_SIZE=$( du -hs $APP_SOURCE | awk ' { print $1}' )
321
- APP_LOCAL_TEMP_FILE=" /tmp/$APP_LOCAL_FILE "
322
319
323
- h1 " Step 6: Compressing Source Contents"
324
- if [ ! -d " $APP_SOURCE " ]; then
325
- error " The specified source directory \" ${APP_SOURCE} \" does not exist."
326
- exit 1
327
- fi
328
- if [ ! -e " $APP_SOURCE /appspec.yml" ]; then
329
- error " The specified source directory \" ${APP_SOURCE} \" does not contain an \" appspec.yml\" in the application root."
330
- exit 1
320
+ if [ ! -d " $APP_SOURCE " -a ! -e " $APP_SOURCE " ]; then
321
+ error " The specified application source \" ${APP_SOURCE} \" does not exist."
322
+ exit
331
323
fi
332
- if ! typeExists " zip" ; then
333
- note " Installing zip binaries ..."
334
- sudo apt-get install -y zip
335
- note " Zip binaries installed."
324
+ if [ -d " $APP_SOURCE " ]; then
325
+ if [ ! -e " $APP_SOURCE /appspec.yml" ]; then
326
+ error " The specified source directory \" ${APP_SOURCE} \" does not contain an \" appspec.yml\" in the application root."
327
+ exit 1
328
+ fi
329
+ if ! typeExists " zip" ; then
330
+ note " Installing zip binaries ..."
331
+ sudo apt-get install -y zip
332
+ note " Zip binaries installed."
333
+ fi
334
+ DEPLOYMENT_COMPRESS_ORIG_DIR_SIZE=$( du -hs $APP_SOURCE | awk ' { print $1}' )
335
+ APP_LOCAL_FILE=" ${AWS_CODE_DEPLOY_S3_FILENAME% .* } .zip"
336
+ APP_LOCAL_TEMP_FILE=" /tmp/$APP_LOCAL_FILE "
337
+
338
+ runCommand " cd \" $APP_SOURCE \" && zip -rq \" ${APP_LOCAL_TEMP_FILE} \" ." \
339
+ " Unable to compress \" $APP_SOURCE \" "
340
+ DEPLOYMENT_COMPRESS_FILESIZE=$( ls -lah " ${APP_LOCAL_TEMP_FILE} " | awk ' { print $5}' )
341
+ BUNDLE_TYPE=" zip"
342
+ success " Successfully compressed \" $APP_SOURCE \" ($DEPLOYMENT_COMPRESS_ORIG_DIR_SIZE ) into \" $APP_LOCAL_FILE \" ($DEPLOYMENT_COMPRESS_FILESIZE )"
343
+ else
344
+ APP_SOURCE_BASENAME=$( basename " $APP_SOURCE " )
345
+ APP_SOURCE_FILESIZE=$( ls -lah " ${APP_SOURCE} " | awk ' { print $5}' )
346
+ EXTENSION=" ${APP_SOURCE#* .} "
347
+
348
+ if [ $EXTENSION == " tar" ]; then
349
+ BUNDLE_TYPE=" tar"
350
+ elif [ $EXTENSION == " tar.gz" ]; then
351
+ BUNDLE_TYPE=" tgz"
352
+ elif [ $EXTENSION == " zip" ]; then
353
+ BUNDLE_TYPE=" zip"
354
+ else
355
+ error " Unsupported bundle type for application source file: ${APP_SOURCE_BASENAME} - Must be tar, zip or tgz"
356
+ exit 1
357
+ fi
358
+
359
+ APP_LOCAL_FILE=$APP_SOURCE_BASENAME
360
+ APP_LOCAL_TEMP_FILE=$APP_SOURCE
361
+
362
+ success " Valid source file: $APP_SOURCE_BASENAME ($BUNDLE_TYPE ) ($APP_SOURCE_FILESIZE )"
336
363
fi
337
- runCommand " cd \" $APP_SOURCE \" && zip -rq \" ${APP_LOCAL_TEMP_FILE} \" ." \
338
- " Unable to compress \" $APP_SOURCE \" "
339
- DEPLOYMENT_COMPRESS_FILESIZE=$( ls -lah " ${APP_LOCAL_TEMP_FILE} " | awk ' { print $5}' )
340
- success " Successfully compressed \" $APP_SOURCE \" ($DEPLOYMENT_COMPRESS_ORIG_DIR_SIZE ) into \" $APP_LOCAL_FILE \" ($DEPLOYMENT_COMPRESS_FILESIZE )"
341
364
342
365
343
366
418
441
# ----------------------
419
442
h1 " Step 9: Registering Revision"
420
443
421
- BUNDLE_TYPE=${APP_LOCAL_FILE##* .}
422
444
REGISTER_APP_CMD=" aws deploy register-application-revision --application-name \" $APPLICATION_NAME \" "
423
445
424
446
if [ -n " $S3_KEY_PREFIX " ]; then
@@ -444,7 +466,7 @@ runCommand "$REGISTER_APP_CMD" \
444
466
# ----------------------
445
467
DEPLOYMENT_DESCRIPTION=" $AWS_CODE_DEPLOY_DEPLOYMENT_DESCRIPTION "
446
468
h1 " Step 10: Creating Deployment"
447
- DEPLOYMENT_CMD=" aws deploy create-deployment --application-name $APPLICATION_NAME --deployment-config-name $DEPLOYMENT_CONFIG_NAME --deployment-group-name $DEPLOYMENT_GROUP --s3-location $S3_LOCATION "
469
+ DEPLOYMENT_CMD=" aws deploy create-deployment --output json -- application-name $APPLICATION_NAME --deployment-config-name $DEPLOYMENT_CONFIG_NAME --deployment-group-name $DEPLOYMENT_GROUP --s3-location $S3_LOCATION "
448
470
449
471
if [ -n " $DEPLOYMENT_DESCRIPTION " ]; then
450
472
DEPLOYMENT_CMD=" $DEPLOYMENT_CMD --description \" $DEPLOYMENT_DESCRIPTION \" "
@@ -469,7 +491,7 @@ DEPLOYMENT_OVERVIEW=${AWS_CODE_DEPLOY_DEPLOYMENT_OVERVIEW:-true}
469
491
if [ " true" = " $DEPLOYMENT_OVERVIEW " ]; then
470
492
h1 " Deployment Overview"
471
493
472
- DEPLOYMENT_GET=" aws deploy get-deployment --deployment-id \" $DEPLOYMENT_ID \" "
494
+ DEPLOYMENT_GET=" aws deploy get-deployment --output json -- deployment-id \" $DEPLOYMENT_ID \" "
473
495
h2 " Monitoring deployment \" $DEPLOYMENT_ID \" for \" $APPLICATION_NAME \" on deployment group $DEPLOYMENT_GROUP ..."
474
496
info " $DEPLOYMENT_GET "
475
497
printf " \n"
@@ -478,7 +500,7 @@ if [ "true" = "$DEPLOYMENT_OVERVIEW" ]; then
478
500
do
479
501
DEPLOYMENT_GET_OUTPUT=" $( eval $DEPLOYMENT_GET 2>&1 ) "
480
502
if [ $? != 0 ]; then
481
- warn " $DEPLOYMENT_GET_OUTPUT "
503
+ warnError " $DEPLOYMENT_GET_OUTPUT "
482
504
error " Deployment of application \" $APPLICATION_NAME \" on deployment group \" $DEPLOYMENT_GROUP \" failed"
483
505
exit 1
484
506
fi
0 commit comments