From 5c74c75f486f588804f4d601ce986e84bac4011e Mon Sep 17 00:00:00 2001 From: Lyda <1829913225@qq.com> Date: Sat, 11 Oct 2025 18:29:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0Docker=E7=A7=81?= =?UTF-8?q?=E6=9C=89=E4=BB=93=E5=BA=93=E7=99=BB=E5=BD=95=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E9=85=8D=E7=BD=AE=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-env/README.md | 21 +++++++++++++++++++++ config-env/action.yml | 24 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/config-env/README.md b/config-env/README.md index 2c2278e..1f4a123 100644 --- a/config-env/README.md +++ b/config-env/README.md @@ -7,6 +7,7 @@ - ✅ 配置 Git 用户信息 - 🔍 校验 `docker` 与 `kubectl` 可用性及版本 - ☸️ 可选写入 Base64 编码的 kubeconfig,并验证集群连通性 +- 🐳 可选登录私有 Docker 仓库 - ⚠️ **不进行任何软件安装**,适用于受控环境 ## 📥 输入参数 @@ -19,6 +20,10 @@ | `require-docker` | 是否校验 docker 可用性 (`true`/`false`) | ❌ | `true` | | `require-kubectl` | 是否校验 kubectl 可用性 (`true`/`false`) | ❌ | `true` | | `verify-kubectl-cluster` | 是否验证 kubectl 集群连通性 (`true`/`false`) | ❌ | `true` | +| `docker-registry` | Docker 私有仓库地址 | ❌ | `docker-registry.bjxgj.com` | +| `docker-username` | Docker 仓库用户名 | ❌ | `ci-action` | +| `docker-password` | Docker 仓库密码(当未跳过登录时必填) | ❌ | `''` | +| `skip-docker-login` | 是否跳过 Docker 登录 (`true`/`false`) | ❌ | `false` | ## 📤 输出参数 @@ -37,6 +42,7 @@ git-user-name: "CI Bot" git-user-email: "ci@example.com" kube-config: ${{ secrets.KUBE_CONFIG }} + docker-password: ${{ secrets.DOCKER_PASSWORD }} ``` ## 🎯 自定义校验 @@ -61,6 +67,21 @@ kube-config: ${{ secrets.KUBE_CONFIG }} ``` +## 🚀 Docker 登录配置 + +```yaml +- name: 验证 kubectl 集群 + uses: actions/xgj/config-env@v1 + with: + require-docker: "true" + require-kubectl: "true" + verify-kubectl-cluster: "true" + kube-config: ${{ secrets.KUBE_CONFIG }} + docker-registry: "registry.example.com" + docker-username: "ci-bot" + docker-password: ${{ secrets.DOCKER_PASSWORD }} +``` + ## 🔒 注意事项 - 请确保运行环境已安装 `docker` 与 `kubectl`(若开启对应校验)。 diff --git a/config-env/action.yml b/config-env/action.yml index 73a62f7..923c2e5 100644 --- a/config-env/action.yml +++ b/config-env/action.yml @@ -31,6 +31,22 @@ inputs: description: '是否验证 kubectl 集群连通性 (true/false)' required: false default: 'true' + docker-registry: + description: 'Docker 私有仓库地址' + required: false + default: 'docker-registry.bjxgj.com' + docker-username: + description: 'Docker 仓库用户名' + required: false + default: 'ci-action' + docker-password: + description: 'Docker 仓库密码(开启登录时必填)' + required: false + default: '' + skip-docker-login: + description: '是否跳过 Docker 登录 (true/false)' + required: false + default: 'false' outputs: docker-version: @@ -74,6 +90,14 @@ runs: shell: bash run: ${{ github.action_path }}/scripts/verify-kubectl.sh + - name: 登录私有 Docker 仓库 + if: ${{ inputs.skip-docker-login != 'true' }} + uses: docker/login-action@v3 + with: + registry: ${{ inputs.docker-registry }} + username: ${{ inputs.docker-username }} + password: ${{ inputs.docker-password }} + - name: 环境校验完成 shell: bash run: |