This commit is contained in:
45
.gitea/workflows/deploy-k3s.yml
Normal file
45
.gitea/workflows/deploy-k3s.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# 工作流名称
|
||||||
|
name: 部署到 K3s
|
||||||
|
# 触发条件:推送到 main 分支时执行
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
# 定义任务
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
# 运行环境(默认 Ubuntu)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# 步骤1:拉取仓库代码(必选)
|
||||||
|
- name: 拉取代码
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# 步骤2:安装 kubectl(修复 command not found)
|
||||||
|
- name: 安装 kubectl
|
||||||
|
run: |
|
||||||
|
# 下载适配 K3s 的 kubectl 版本(v1.28.0 可根据你的 K3s 版本调整)
|
||||||
|
curl -LO "https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl"
|
||||||
|
chmod +x ./kubectl
|
||||||
|
sudo mv ./kubectl /usr/local/bin/
|
||||||
|
# 验证安装
|
||||||
|
kubectl version --client
|
||||||
|
|
||||||
|
# --------------------------
|
||||||
|
# 步骤4:配置 K3s 集群访问(就在这里!)
|
||||||
|
# --------------------------
|
||||||
|
- name: 配置 K3s 集群访问
|
||||||
|
run: |
|
||||||
|
# 创建 kubectl 配置目录
|
||||||
|
mkdir -p ~/.kube
|
||||||
|
# 将 Gitea 秘钥中的 kubeconfig 内容写入文件
|
||||||
|
echo "${{ secrets.KUBECONFIG_CONTENT }}" > ~/.kube/config
|
||||||
|
# 赋予配置文件正确权限(kubectl 要求权限不能太开放)
|
||||||
|
chmod 600 ~/.kube/config
|
||||||
|
# 验证是否能连接到 K3s 集群(可选,用于调试)
|
||||||
|
kubectl get nodes
|
||||||
|
|
||||||
|
# 步骤5:执行部署命令(你的原有步骤)
|
||||||
|
- name: 部署到 K3s 集群
|
||||||
|
run: |
|
||||||
|
kubectl apply -f k8s/
|
||||||
Reference in New Issue
Block a user