FEAT(app): add --yes flag for skip
- Add non-interactive mode for CI - Skip confirmation dialogs
This commit is contained in:
3
.github/workflows/deploy.yml
vendored
3
.github/workflows/deploy.yml
vendored
@@ -67,7 +67,8 @@ jobs:
|
|||||||
./scripts/k8s-deploy.sh \
|
./scripts/k8s-deploy.sh \
|
||||||
--namespace ${{ env.K8S_NAMESPACE }} \
|
--namespace ${{ env.K8S_NAMESPACE }} \
|
||||||
--no-build \
|
--no-build \
|
||||||
--app-image ${{ steps.image.outputs.full_image }}
|
--app-image ${{ steps.image.outputs.full_image }} \
|
||||||
|
--yes
|
||||||
env:
|
env:
|
||||||
TERM: dumb
|
TERM: dumb
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ setup_script
|
|||||||
|
|
||||||
print_usage() {
|
print_usage() {
|
||||||
echo ""
|
echo ""
|
||||||
echo "사용법: $(basename "$0") [-n NAMESPACE] [-c CONTEXT] [--app-image IMAGE[:TAG]] [--build|--no-build] [--tag TAG] [--dry-run]"
|
echo "사용법: $(basename "$0") [-n NAMESPACE] [-c CONTEXT] [--app-image IMAGE[:TAG]] [--build|--no-build] [--tag TAG] [--dry-run] [--yes]"
|
||||||
echo " -n, --namespace Kubernetes 네임스페이스 (기본: jovies)"
|
echo " -n, --namespace Kubernetes 네임스페이스 (기본: jovies)"
|
||||||
echo " -c, --context kubectl 컨텍스트 지정 (kubectl config current-context 기본)"
|
echo " -c, --context kubectl 컨텍스트 지정 (kubectl config current-context 기본)"
|
||||||
echo " --app-image app 디플로이먼트에 사용할 이미지 레퍼런스(예: your/repo:jovies)"
|
echo " --app-image app 디플로이먼트에 사용할 이미지 레퍼런스(예: your/repo:jovies)"
|
||||||
@@ -17,6 +17,7 @@ print_usage() {
|
|||||||
echo " --no-build 빌드 생략"
|
echo " --no-build 빌드 생략"
|
||||||
echo " --tag --build 시 사용할 이미지 태그 (기본: jovies-app:local-<timestamp>)"
|
echo " --tag --build 시 사용할 이미지 태그 (기본: jovies-app:local-<timestamp>)"
|
||||||
echo " --dry-run 실제 적용 대신 미리보기 수행"
|
echo " --dry-run 실제 적용 대신 미리보기 수행"
|
||||||
|
echo " -y, --yes 확인 프롬프트 건너뛰기"
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,6 +28,7 @@ DRY_RUN="false"
|
|||||||
APP_IMAGE=""
|
APP_IMAGE=""
|
||||||
DO_BUILD="true"
|
DO_BUILD="true"
|
||||||
IMAGE_TAG=""
|
IMAGE_TAG=""
|
||||||
|
SKIP_CONFIRM="false"
|
||||||
|
|
||||||
# 인자 파싱
|
# 인자 파싱
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
@@ -45,6 +47,8 @@ while [[ $# -gt 0 ]]; do
|
|||||||
DO_BUILD="false"; shift ;;
|
DO_BUILD="false"; shift ;;
|
||||||
--tag)
|
--tag)
|
||||||
IMAGE_TAG="$2"; shift; shift ;;
|
IMAGE_TAG="$2"; shift; shift ;;
|
||||||
|
-y|--yes)
|
||||||
|
SKIP_CONFIRM="true"; shift ;;
|
||||||
-h|--help)
|
-h|--help)
|
||||||
print_usage; exit 0 ;;
|
print_usage; exit 0 ;;
|
||||||
*)
|
*)
|
||||||
@@ -129,10 +133,12 @@ if grep -qE "^\s*image:\s*app(\s|$)" "$K8S_DIR/app-deployment.yaml" 2>/dev/null;
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# 확인 후 진행
|
# 확인 후 진행
|
||||||
|
if [[ "$SKIP_CONFIRM" != "true" ]]; then
|
||||||
if ! confirm_action "계속 진행하시겠습니까?" "Y"; then
|
if ! confirm_action "계속 진행하시겠습니까?" "Y"; then
|
||||||
log_warn "사용자에 의해 취소되었습니다."
|
log_warn "사용자에 의해 취소되었습니다."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
log_info "🚀 Kubernetes 리소스 적용 중..."
|
log_info "🚀 Kubernetes 리소스 적용 중..."
|
||||||
|
|||||||
Reference in New Issue
Block a user