Files
xgj/config-env/README.md

83 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | ❌ | `''` |
| `enable-validation` | 是否执行环境校验 (`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 配置(若提供)及 kubeconfig 写入:
```yaml
- name: 跳过环境校验
uses: actions/xgj/config-env@v1
with:
enable-validation: "false"
```
## 🚀 Docker 登录配置
```yaml
- name: 验证 kubectl 集群
uses: actions/xgj/config-env@v1
with:
enable-validation: "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