From a26f91ab25dd6fc0c531517f01e1157f4a8ce08f Mon Sep 17 00:00:00 2001 From: Lyda <1829913225@qq.com> Date: Sat, 11 Oct 2025 18:55:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=A0=A1=E9=AA=8C=E5=BC=80=E5=85=B3=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E4=B8=BA=E5=8D=95=E4=B8=80=E7=9A=84enable-validation?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-env/action.yml | 25 +++++++------------------ config-env/scripts/validate-tools.sh | 19 +++++++------------ 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/config-env/action.yml b/config-env/action.yml index 45369aa..0b187a3 100644 --- a/config-env/action.yml +++ b/config-env/action.yml @@ -19,16 +19,8 @@ inputs: description: 'Base64 编码的 kubectl 配置文件' required: false default: '' - require-docker: - description: '是否校验 docker 可用性 (true/false)' - required: false - default: 'true' - require-kubectl: - description: '是否校验 kubectl 可用性 (true/false)' - required: false - default: 'true' - verify-kubectl-cluster: - description: '是否验证 kubectl 集群连通性 (true/false)' + enable-validation: + description: '是否执行环境校验 (true/false)' required: false default: 'true' docker-registry: @@ -74,11 +66,10 @@ runs: shell: bash run: bash ${{ github.action_path }}/scripts/validate-tools.sh env: - CHECK_DOCKER: ${{ inputs.require-docker }} - CHECK_KUBECTL: ${{ inputs.require-kubectl }} + ENABLE_VALIDATION: ${{ inputs.enable-validation }} - name: 配置 kubectl - if: ${{ inputs.kube-config != '' && inputs.require-kubectl != 'false' }} + if: ${{ inputs.kube-config != '' }} shell: bash run: bash ${{ github.action_path }}/scripts/configure-kubectl.sh env: @@ -86,7 +77,7 @@ runs: - name: 验证 kubectl 连通性 id: verify-kubectl - if: ${{ inputs.kube-config != '' && inputs.verify-kubectl-cluster != 'false' && inputs.require-kubectl != 'false' }} + if: ${{ inputs.kube-config != '' && inputs.enable-validation != 'false' }} shell: bash run: bash ${{ github.action_path }}/scripts/verify-kubectl.sh @@ -102,12 +93,10 @@ runs: shell: bash run: | echo '🎉 环境校验与配置步骤完成' - if [[ "${{ inputs.require-docker }}" != 'false' ]]; then + if [[ "${{ inputs.enable-validation }}" != 'false' ]]; then echo " - Docker: ${{ steps.validate-tools.outputs.docker-version }}" - fi - if [[ "${{ inputs.require-kubectl }}" != 'false' ]]; then echo " - kubectl: ${{ steps.validate-tools.outputs.kubectl-version }}" fi - if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.verify-kubectl-cluster }}" != 'false' && "${{ inputs.require-kubectl }}" != 'false' ]]; then + if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.enable-validation }}" != 'false' ]]; then echo " - 当前上下文: ${{ steps.verify-kubectl.outputs.current-context }}" fi diff --git a/config-env/scripts/validate-tools.sh b/config-env/scripts/validate-tools.sh index eaa8324..7475b16 100644 --- a/config-env/scripts/validate-tools.sh +++ b/config-env/scripts/validate-tools.sh @@ -58,22 +58,17 @@ validate_binary() { main() { : "${GITHUB_OUTPUT:?GITHUB_OUTPUT 未设置}" >/dev/null - local check_docker="${CHECK_DOCKER:-true}" - local check_kubectl="${CHECK_KUBECTL:-true}" + local enable_validation="${ENABLE_VALIDATION:-true}" - if [[ "$check_docker" != "true" ]]; then - log_info "跳过 Docker 校验" + if [[ "$enable_validation" != "true" ]]; then + log_info "已通过统一开关禁用环境校验" printf 'docker-version=%s\n' "skipped" >> "$GITHUB_OUTPUT" - else - validate_binary "docker" "true" "docker --version" "docker-version" + printf 'kubectl-version=%s\n' "skipped" >> "$GITHUB_OUTPUT" + return 0 fi - if [[ "$check_kubectl" != "true" ]]; then - log_info "跳过 kubectl 校验" - printf 'kubectl-version=%s\n' "skipped" >> "$GITHUB_OUTPUT" - else - validate_binary "kubectl" "true" "kubectl version --client --short 2>/dev/null || kubectl version --client" "kubectl-version" - fi + validate_binary "docker" "true" "docker --version" "docker-version" + validate_binary "kubectl" "true" "kubectl version --client --short 2>/dev/null || kubectl version --client" "kubectl-version" } trap 'log_error "工具校验失败,退出码: $?"' ERR