mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
feat: 添加Docker私有仓库登录支持及相关配置参数
This commit is contained in:
@@ -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`(若开启对应校验)。
|
||||||
|
@@ -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: |
|
||||||
|
Reference in New Issue
Block a user