From 132ce52f23881b17e6bb2c06deaf2f88d61f9a5b Mon Sep 17 00:00:00 2001 From: kris Date: Tue, 11 Nov 2025 03:59:20 +0000 Subject: [PATCH] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd35dc0e..2227bf34 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ stages: - out/ expire_in: 1 week -# ====== TEMPLATE: DEPLOY KE S3 + CLOUDFRONT ====== +# ====== TEMPLATE: DEPLOY KE S3 + CLOUDFRONT + NOTICE DISCORD ====== .deploy_template: &deploy_template stage: deploy image: @@ -38,6 +38,7 @@ stages: - echo "🚀 Deploying to s3://$S3_BUCKET in region $AWS_REGION" - aws s3api head-bucket --bucket "$S3_BUCKET" --region "$AWS_REGION" || aws s3api create-bucket --bucket "$S3_BUCKET" --region "$AWS_REGION" --create-bucket-configuration LocationConstraint="$AWS_REGION" - aws s3 sync ./out "s3://$S3_BUCKET" --delete --region "$AWS_REGION" --endpoint-url "https://s3.ap-southeast-3.amazonaws.com" + # CloudFront invalidation - | if [ -n "$CLOUDFRONT_DISTRIBUTION_ID" ]; then echo "đŸ“Ļ Invalidating CloudFront cache..." @@ -47,6 +48,44 @@ stages: else echo "â„šī¸ No CloudFront distribution specified — skipping invalidation" fi + # Notifikasi Discord + - | + RUN_URL="${CI_PROJECT_URL}/-/pipelines/${CI_PIPELINE_ID}" + + if [ "$STATUS" = "success" ]; then + COLOR=3066993 + TITLE="✅ Deployment Succeeded" + DESC="Deployment job on branch \`${CI_COMMIT_REF_NAME}\` completed successfully." + else + COLOR=15158332 + TITLE="❌ Deployment Failed" + DESC="Deployment job on branch \`${CI_COMMIT_REF_NAME}\` encountered issues." + fi + + jq -n \ + --arg title "$TITLE" \ + --arg desc "$DESC" \ + --arg color "$COLOR" \ + --arg repo "$CI_PROJECT_PATH" \ + --arg actor "$GITLAB_USER_LOGIN" \ + --arg commit "$CI_COMMIT_SHA" \ + --arg run_url "$RUN_URL" \ + '{ + username: "CI Bot - LTI WEB", + embeds: [{ + title: $title, + description: $desc, + color: ($color|tonumber), + fields: [ + {name: "Repository", value: $repo, inline: true}, + {name: "Actor", value: $actor, inline: true}, + {name: "Commit", value: $commit, inline: false}, + {name: "Pipeline", value: "[Open run](" + $run_url + ")", inline: false} + ] + }] + }' > payload.json + + curl -sS -H "Content-Type: application/json" -d @payload.json "$DISCORD_WEBHOOK_URL" # ====== DEVELOPMENT (Branch devops-s3) ====== build:dev: @@ -94,3 +133,4 @@ deploy:dev: # environment: # name: production # url: https://royalgoldcapital.com +