mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 21:03:37 +08:00
98 lines
3.1 KiB
Markdown
98 lines
3.1 KiB
Markdown
# Configure Build Environment Action
|
||
|
||
该 GitHub Action 用于在已有环境中执行验证与配置操作,确保必要工具可用并完成 Git 与 kubectl 配置,适用于已预装所有依赖的构建机场景。
|
||
|
||
## 🚦 能力概览
|
||
|
||
- ✅ 配置 Git 用户信息
|
||
- 🔍 校验 `docker` 与 `kubectl` 可用性及版本
|
||
- ☸️ 可选写入 Base64 编码的 kubeconfig,并验证集群连通性
|
||
- 🐳 可选登录私有 Docker 仓库
|
||
- ⚠️ **不进行任何软件安装**,适用于受控环境
|
||
|
||
## 📥 输入参数
|
||
|
||
| 参数名 | 描述 | 必填 | 默认值 |
|
||
| --- | --- | --- | --- |
|
||
| `git-user-name` | Git 用户名 | ❌ | `GiteaActions` |
|
||
| `git-user-email` | Git 用户邮箱 | ❌ | `actions@gitea.com` |
|
||
| `kube-config` | Base64 编码的 kubeconfig | ❌ | `''` |
|
||
| `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` |
|
||
|
||
## 📤 输出参数
|
||
|
||
| 参数名 | 描述 |
|
||
| --- | --- |
|
||
| `docker-version` | 检测到的 Docker 版本或状态 |
|
||
| `kubectl-version` | 检测到的 kubectl 版本或状态 |
|
||
| `kubectl-context` | 集群验证成功时的当前 context |
|
||
|
||
## 🚀 基本用法
|
||
|
||
```yaml
|
||
- name: 校验并配置环境
|
||
uses: actions/xgj/config-env@v1
|
||
with:
|
||
git-user-name: "CI Bot"
|
||
git-user-email: "ci@example.com"
|
||
kube-config: ${{ secrets.KUBE_CONFIG }}
|
||
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
||
```
|
||
|
||
## 🎯 自定义校验
|
||
|
||
仅检查 Git 配置与 docker:
|
||
|
||
```yaml
|
||
- name: 仅验证 docker
|
||
uses: actions/xgj/config-env@v1
|
||
with:
|
||
require-kubectl: "false"
|
||
verify-kubectl-cluster: "false"
|
||
```
|
||
|
||
禁用 docker 校验,仅写入 kubeconfig 并验证:
|
||
|
||
```yaml
|
||
- name: 验证 kubectl 集群
|
||
uses: actions/xgj/config-env@v1
|
||
with:
|
||
require-docker: "false"
|
||
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`(若开启对应校验)。
|
||
- kubeconfig 建议通过 GitHub Secrets 以 Base64 编码方式提供。
|
||
- Action 执行失败会立即终止后续步骤,便于快速发现环境问题。
|
||
|
||
## 🧪 示例工作流
|
||
|
||
详见 `examples/basic-usage.yml`,展示了与 CI 构建流程结合的典型用法。
|
||
|
||
## 🤝 贡献
|
||
|
||
欢迎提 Issue 或提交 PR!
|