|
13 | 13 | # - AWS_ACCESS_KEY_ID |
14 | 14 | # - AWS_SECRET_ACCESS_KEY |
15 | 15 | # - AWS_DEFAULT_REGION |
| 16 | +# - AWS_AMPLIFY_APP_ID |
| 17 | +# - AWS_AMPLIFY_BRANCH_NAME |
16 | 18 |
|
17 | 19 | GHOST_HOSTED_DOMAIN_WITH_PATH=$(echo ${GHOST_HOSTED_URL} | cut -d '/' -f 3-) |
18 | 20 | GHOST_HOSTED_BLOG_PATH=$(echo ${GHOST_HOSTED_URL} | cut -d '/' -f 4-) |
@@ -148,9 +150,62 @@ if [[ ! -z ${S3_BUCKET_NAME} ]]; then |
148 | 150 | aws s3 sync ${blog_dir}/public ${s3_blog_path}/public --acl public-read --cache-control "public, max-age=604800, must-revalidate" --delete |
149 | 151 | aws s3 sync ${blog_dir}/assets ${s3_blog_path}/assets --acl public-read --cache-control "public, max-age=604800, must-revalidate" --delete |
150 | 152 | echo "***** S3 upload complete *****" |
| 153 | +elif [[ ! -z ${AWS_AMPLIFY_APP_ID} ]]; then |
| 154 | + echo "" |
| 155 | + echo "***** Started generating zip for static blog *****" |
| 156 | + cd ${GHOST_STATIC_CONTENT_DIR} |
| 157 | + zip -r ${GHOST_STATIC_BLOG_PATH}.zip ${GHOST_STATIC_BLOG_PATH} |
| 158 | + echo "***** Started create deployment for Amplify *****" |
| 159 | + job=`aws amplify create-deployment --app-id ${AWS_AMPLIFY_APP_ID} --branch-name ${AWS_AMPLIFY_BRANCH_NAME} --output json` |
| 160 | + # Extract values and store in variables |
| 161 | + jobId=$(echo "$job" | jq -r '.jobId') |
| 162 | + if [[ $? -ne 0 ]]; then |
| 163 | + echo "Error: Unable to fetch jobId" |
| 164 | + exit 1 |
| 165 | + fi |
| 166 | + zipUploadUrl=$(echo "$job" | jq -r '.zipUploadUrl') |
| 167 | + if [[ $? -ne 0 ]]; then |
| 168 | + echo "Error: Unable to fetch zipUploadUrl" |
| 169 | + exit 1 |
| 170 | + fi |
| 171 | + echo "jobId ===>>>>> ${jobId}" |
| 172 | + echo "zipUploadUrl ===>>>>> ${zipUploadUrl}" |
| 173 | + curl "${zipUploadUrl}" --upload-file ${GHOST_STATIC_BLOG_PATH}.zip |
| 174 | + if [[ $? -ne 0 ]]; then |
| 175 | + echo "Error: Unable to upload zip" |
| 176 | + exit 1 |
| 177 | + fi |
| 178 | + aws amplify start-deployment --app-id ${AWS_AMPLIFY_APP_ID} --branch-name ${AWS_AMPLIFY_BRANCH_NAME} --job-id ${jobId} |
| 179 | + if [[ $? -ne 0 ]]; then |
| 180 | + echo "Error: Unable to start deployment" |
| 181 | + exit 1 |
| 182 | + fi |
| 183 | + while true; do |
| 184 | + status=`aws amplify get-job --app-id ${AWS_AMPLIFY_APP_ID} --branch-name ${AWS_AMPLIFY_BRANCH_NAME} --job-id ${jobId} | jq -r '.job.summary.status'` |
| 185 | + if [[ $? -ne 0 ]]; then |
| 186 | + echo "Error: Unable to fetch status" |
| 187 | + exit 1 |
| 188 | + fi |
| 189 | + # Check if the status is either "SUCCEED" or "FAILED" |
| 190 | + if [ "${status}" = "SUCCEED" ]; then |
| 191 | + echo "Job Status =>>>>>> ${status}" |
| 192 | + break |
| 193 | + elif [ "${status}" = "FAILED" ]; then |
| 194 | + echo "Job Status =>>>>>> ${status}" |
| 195 | + break |
| 196 | + elif [ "${status}" = "CANCELLED" ]; then |
| 197 | + echo "Job Status =>>>>>> ${status}" |
| 198 | + break |
| 199 | + else |
| 200 | + echo "Job Status =>>>>>> ${status}" |
| 201 | + fi |
| 202 | + # Wait for a while before checking again |
| 203 | + sleep 5 # Adjust the sleep duration as needed |
| 204 | + done |
151 | 205 | else |
152 | 206 | echo " " |
153 | 207 | echo "If you want to upload the static site files to S3, provide following ENV variables: S3_BUCKET_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION" |
| 208 | + echo "Or if you want to upload the static site files to Amplify, provide following ENV variables: AWS_AMPLIFY_APP_ID, AWS_AMPLIFY_BRANCH_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION" |
154 | 209 | fi |
155 | 210 |
|
156 | 211 | echo " " |
|
0 commit comments