mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 13:33:37 +08:00
Compare commits
2 Commits
55e66894bd
...
ca7e4be804
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ca7e4be804 | ||
![]() |
a26f91ab25 |
@@ -17,9 +17,7 @@
|
|||||||
| `git-user-name` | Git 用户名 | ❌ | `GiteaActions` |
|
| `git-user-name` | Git 用户名 | ❌ | `GiteaActions` |
|
||||||
| `git-user-email` | Git 用户邮箱 | ❌ | `actions@gitea.com` |
|
| `git-user-email` | Git 用户邮箱 | ❌ | `actions@gitea.com` |
|
||||||
| `kube-config` | Base64 编码的 kubeconfig | ❌ | `''` |
|
| `kube-config` | Base64 编码的 kubeconfig | ❌ | `''` |
|
||||||
| `require-docker` | 是否校验 docker 可用性 (`true`/`false`) | ❌ | `true` |
|
| `enable-validation` | 是否执行环境校验 (`true`/`false`) | ❌ | `true` |
|
||||||
| `require-kubectl` | 是否校验 kubectl 可用性 (`true`/`false`) | ❌ | `true` |
|
|
||||||
| `verify-kubectl-cluster` | 是否验证 kubectl 集群连通性 (`true`/`false`) | ❌ | `true` |
|
|
||||||
| `docker-registry` | Docker 私有仓库地址 | ❌ | `docker-registry.bjxgj.com` |
|
| `docker-registry` | Docker 私有仓库地址 | ❌ | `docker-registry.bjxgj.com` |
|
||||||
| `docker-username` | Docker 仓库用户名 | ❌ | `ci-action` |
|
| `docker-username` | Docker 仓库用户名 | ❌ | `ci-action` |
|
||||||
| `docker-password` | Docker 仓库密码(当未跳过登录时必填) | ❌ | `''` |
|
| `docker-password` | Docker 仓库密码(当未跳过登录时必填) | ❌ | `''` |
|
||||||
@@ -47,24 +45,13 @@
|
|||||||
|
|
||||||
## 🎯 自定义校验
|
## 🎯 自定义校验
|
||||||
|
|
||||||
仅检查 Git 配置与 docker:
|
禁用所有校验,仅进行 Git 配置(若提供)及 kubeconfig 写入:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: 仅验证 docker
|
- name: 跳过环境校验
|
||||||
uses: actions/xgj/config-env@v1
|
uses: actions/xgj/config-env@v1
|
||||||
with:
|
with:
|
||||||
require-kubectl: "false"
|
enable-validation: "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 登录配置
|
## 🚀 Docker 登录配置
|
||||||
@@ -73,9 +60,7 @@
|
|||||||
- name: 验证 kubectl 集群
|
- name: 验证 kubectl 集群
|
||||||
uses: actions/xgj/config-env@v1
|
uses: actions/xgj/config-env@v1
|
||||||
with:
|
with:
|
||||||
require-docker: "true"
|
enable-validation: "true"
|
||||||
require-kubectl: "true"
|
|
||||||
verify-kubectl-cluster: "true"
|
|
||||||
kube-config: ${{ secrets.KUBE_CONFIG }}
|
kube-config: ${{ secrets.KUBE_CONFIG }}
|
||||||
docker-registry: "registry.example.com"
|
docker-registry: "registry.example.com"
|
||||||
docker-username: "ci-bot"
|
docker-username: "ci-bot"
|
||||||
|
@@ -19,16 +19,8 @@ inputs:
|
|||||||
description: 'Base64 编码的 kubectl 配置文件'
|
description: 'Base64 编码的 kubectl 配置文件'
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
require-docker:
|
enable-validation:
|
||||||
description: '是否校验 docker 可用性 (true/false)'
|
description: '是否执行环境校验 (true/false)'
|
||||||
required: false
|
|
||||||
default: 'true'
|
|
||||||
require-kubectl:
|
|
||||||
description: '是否校验 kubectl 可用性 (true/false)'
|
|
||||||
required: false
|
|
||||||
default: 'true'
|
|
||||||
verify-kubectl-cluster:
|
|
||||||
description: '是否验证 kubectl 集群连通性 (true/false)'
|
|
||||||
required: false
|
required: false
|
||||||
default: 'true'
|
default: 'true'
|
||||||
docker-registry:
|
docker-registry:
|
||||||
@@ -74,11 +66,10 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: bash ${{ github.action_path }}/scripts/validate-tools.sh
|
run: bash ${{ github.action_path }}/scripts/validate-tools.sh
|
||||||
env:
|
env:
|
||||||
CHECK_DOCKER: ${{ inputs.require-docker }}
|
ENABLE_VALIDATION: ${{ inputs.enable-validation }}
|
||||||
CHECK_KUBECTL: ${{ inputs.require-kubectl }}
|
|
||||||
|
|
||||||
- name: 配置 kubectl
|
- name: 配置 kubectl
|
||||||
if: ${{ inputs.kube-config != '' && inputs.require-kubectl != 'false' }}
|
if: ${{ inputs.kube-config != '' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: bash ${{ github.action_path }}/scripts/configure-kubectl.sh
|
run: bash ${{ github.action_path }}/scripts/configure-kubectl.sh
|
||||||
env:
|
env:
|
||||||
@@ -86,7 +77,7 @@ runs:
|
|||||||
|
|
||||||
- name: 验证 kubectl 连通性
|
- name: 验证 kubectl 连通性
|
||||||
id: verify-kubectl
|
id: verify-kubectl
|
||||||
if: ${{ inputs.kube-config != '' && inputs.verify-kubectl-cluster != 'false' && inputs.require-kubectl != 'false' }}
|
if: ${{ inputs.kube-config != '' && inputs.enable-validation != 'false' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: bash ${{ github.action_path }}/scripts/verify-kubectl.sh
|
run: bash ${{ github.action_path }}/scripts/verify-kubectl.sh
|
||||||
|
|
||||||
@@ -102,12 +93,10 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
echo '🎉 环境校验与配置步骤完成'
|
echo '🎉 环境校验与配置步骤完成'
|
||||||
if [[ "${{ inputs.require-docker }}" != 'false' ]]; then
|
if [[ "${{ inputs.enable-validation }}" != 'false' ]]; then
|
||||||
echo " - Docker: ${{ steps.validate-tools.outputs.docker-version }}"
|
echo " - Docker: ${{ steps.validate-tools.outputs.docker-version }}"
|
||||||
fi
|
|
||||||
if [[ "${{ inputs.require-kubectl }}" != 'false' ]]; then
|
|
||||||
echo " - kubectl: ${{ steps.validate-tools.outputs.kubectl-version }}"
|
echo " - kubectl: ${{ steps.validate-tools.outputs.kubectl-version }}"
|
||||||
fi
|
fi
|
||||||
if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.verify-kubectl-cluster }}" != 'false' && "${{ inputs.require-kubectl }}" != 'false' ]]; then
|
if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.enable-validation }}" != 'false' ]]; then
|
||||||
echo " - 当前上下文: ${{ steps.verify-kubectl.outputs.current-context }}"
|
echo " - 当前上下文: ${{ steps.verify-kubectl.outputs.current-context }}"
|
||||||
fi
|
fi
|
||||||
|
@@ -58,22 +58,17 @@ validate_binary() {
|
|||||||
main() {
|
main() {
|
||||||
: "${GITHUB_OUTPUT:?GITHUB_OUTPUT 未设置}" >/dev/null
|
: "${GITHUB_OUTPUT:?GITHUB_OUTPUT 未设置}" >/dev/null
|
||||||
|
|
||||||
local check_docker="${CHECK_DOCKER:-true}"
|
local enable_validation="${ENABLE_VALIDATION:-true}"
|
||||||
local check_kubectl="${CHECK_KUBECTL:-true}"
|
|
||||||
|
|
||||||
if [[ "$check_docker" != "true" ]]; then
|
if [[ "$enable_validation" != "true" ]]; then
|
||||||
log_info "跳过 Docker 校验"
|
log_info "已通过统一开关禁用环境校验"
|
||||||
printf 'docker-version=%s\n' "skipped" >> "$GITHUB_OUTPUT"
|
printf 'docker-version=%s\n' "skipped" >> "$GITHUB_OUTPUT"
|
||||||
else
|
printf 'kubectl-version=%s\n' "skipped" >> "$GITHUB_OUTPUT"
|
||||||
validate_binary "docker" "true" "docker --version" "docker-version"
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$check_kubectl" != "true" ]]; then
|
validate_binary "docker" "true" "docker --version" "docker-version"
|
||||||
log_info "跳过 kubectl 校验"
|
validate_binary "kubectl" "true" "kubectl version --client --short 2>/dev/null || kubectl version --client" "kubectl-version"
|
||||||
printf 'kubectl-version=%s\n' "skipped" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
validate_binary "kubectl" "true" "kubectl version --client --short 2>/dev/null || kubectl version --client" "kubectl-version"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
trap 'log_error "工具校验失败,退出码: $?"' ERR
|
trap 'log_error "工具校验失败,退出码: $?"' ERR
|
||||||
|
Reference in New Issue
Block a user