mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
Compare commits
1 Commits
621d0d2bfd
...
test/mr-ci
| Author | SHA1 | Date | |
|---|---|---|---|
| febc228115 |
+32
-16
@@ -14,9 +14,10 @@ variables:
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
# run untuk push & MR
|
||||
- if: '$CI_PIPELINE_SOURCE == "push"'
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
# run untuk branch utama & MR
|
||||
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "development"'
|
||||
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "production"'
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "production"'
|
||||
- when: never
|
||||
|
||||
# =========================
|
||||
@@ -40,12 +41,9 @@ workflow:
|
||||
echo "$PASS" | docker login --username AWS --password-stdin "$ECR_REGISTRY"
|
||||
|
||||
# =========================
|
||||
# PROD
|
||||
# 1) MR ke target production: build (optional push)
|
||||
# 2) Push ke production: build + push + update gitops
|
||||
# MR
|
||||
# =========================
|
||||
|
||||
build_prod_mr:
|
||||
build_mr:
|
||||
stage: build
|
||||
image: public.ecr.aws/docker/library/docker:27
|
||||
tags: [self-hosted-dev]
|
||||
@@ -53,8 +51,6 @@ build_prod_mr:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "production"'
|
||||
variables:
|
||||
IMAGE_TAG: "prod-mr-${CI_COMMIT_SHORT_SHA}"
|
||||
# kalau mau push juga saat MR, set di project/CI variable: PUSH_IMAGE=true
|
||||
PUSH_IMAGE: "${PUSH_IMAGE:-false}"
|
||||
before_script:
|
||||
- set -eu
|
||||
- docker version
|
||||
@@ -64,14 +60,34 @@ build_prod_mr:
|
||||
set -eu
|
||||
echo "Build (MR) : $ECR_REPOSITORY:$IMAGE_TAG"
|
||||
docker build -f Dockerfile -t "$ECR_REPOSITORY:$IMAGE_TAG" .
|
||||
echo "Pushing image for MR..."
|
||||
docker push "$ECR_REPOSITORY:$IMAGE_TAG"
|
||||
|
||||
if [ "$PUSH_IMAGE" = "true" ]; then
|
||||
echo "Pushing image for MR..."
|
||||
docker push "$ECR_REPOSITORY:$IMAGE_TAG"
|
||||
else
|
||||
echo "Skip push (MR)."
|
||||
fi
|
||||
# =========================
|
||||
# DEVELOPMENT (push branch development)
|
||||
# =========================
|
||||
build_push_dev:
|
||||
stage: build
|
||||
image: public.ecr.aws/docker/library/docker:27
|
||||
tags: [self-hosted-dev]
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "development"'
|
||||
variables:
|
||||
IMAGE_TAG: "dev-${CI_COMMIT_SHORT_SHA}"
|
||||
before_script:
|
||||
- set -eu
|
||||
- docker version
|
||||
- docker info
|
||||
- *ecr_login
|
||||
script: |
|
||||
set -eu
|
||||
echo "Build & push (dev): $ECR_REPOSITORY:$IMAGE_TAG"
|
||||
docker build -f Dockerfile -t "$ECR_REPOSITORY:$IMAGE_TAG" .
|
||||
docker push "$ECR_REPOSITORY:$IMAGE_TAG"
|
||||
|
||||
# =========================
|
||||
# PRODUCTION (push branch production)
|
||||
# =========================
|
||||
build_push_prod:
|
||||
stage: build
|
||||
image: public.ecr.aws/docker/library/docker:27
|
||||
|
||||
Reference in New Issue
Block a user