feat: 添加Docker私有仓库登录支持及相关配置参数

This commit is contained in:
Lyda
2025-10-11 18:29:10 +08:00
parent f618608667
commit 5c74c75f48
2 changed files with 45 additions and 0 deletions

View File

@@ -7,6 +7,7 @@
- ✅ 配置 Git 用户信息 - ✅ 配置 Git 用户信息
- 🔍 校验 `docker``kubectl` 可用性及版本 - 🔍 校验 `docker``kubectl` 可用性及版本
- ☸️ 可选写入 Base64 编码的 kubeconfig并验证集群连通性 - ☸️ 可选写入 Base64 编码的 kubeconfig并验证集群连通性
- 🐳 可选登录私有 Docker 仓库
- ⚠️ **不进行任何软件安装**,适用于受控环境 - ⚠️ **不进行任何软件安装**,适用于受控环境
## 📥 输入参数 ## 📥 输入参数
@@ -19,6 +20,10 @@
| `require-docker` | 是否校验 docker 可用性 (`true`/`false`) | ❌ | `true` | | `require-docker` | 是否校验 docker 可用性 (`true`/`false`) | ❌ | `true` |
| `require-kubectl` | 是否校验 kubectl 可用性 (`true`/`false`) | ❌ | `true` | | `require-kubectl` | 是否校验 kubectl 可用性 (`true`/`false`) | ❌ | `true` |
| `verify-kubectl-cluster` | 是否验证 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-name: "CI Bot"
git-user-email: "ci@example.com" git-user-email: "ci@example.com"
kube-config: ${{ secrets.KUBE_CONFIG }} kube-config: ${{ secrets.KUBE_CONFIG }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
``` ```
## 🎯 自定义校验 ## 🎯 自定义校验
@@ -61,6 +67,21 @@
kube-config: ${{ secrets.KUBE_CONFIG }} 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`(若开启对应校验)。 - 请确保运行环境已安装 `docker``kubectl`(若开启对应校验)。

View File

@@ -31,6 +31,22 @@ inputs:
description: '是否验证 kubectl 集群连通性 (true/false)' description: '是否验证 kubectl 集群连通性 (true/false)'
required: false required: false
default: 'true' 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: outputs:
docker-version: docker-version:
@@ -74,6 +90,14 @@ runs:
shell: bash shell: bash
run: ${{ github.action_path }}/scripts/verify-kubectl.sh 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: 环境校验完成 - name: 环境校验完成
shell: bash shell: bash
run: | run: |