diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 0390a14..6a21932 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -17,18 +17,16 @@ jobs: - name: SSH部署K3s run: | mkdir -p ~/.ssh - # 写入组织配置的SSH私钥 - echo "${{ secrets.K3S_SSH_KEY }}" > k3s.pem + echo "${{ secrets.K3S_PEM_KEY }}" > k3s.pem chmod 600 k3s.pem - # 调试:验证私钥是否正确写入 - echo "私钥文件权限:" - ls -l k3s.pem - echo "私钥头部(仅前5行):" - head -5 k3s.pem - # 测试连接(会输出服务器主机名和kubectl版本) - ssh -i k3s.pem -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@${K3S_HOST} "hostname && kubectl version --client" - # 正式执行部署命令 + + # ========== 核心新增:上传仓库里的deploy.yaml到K3s临时目录 ========== + # 说明:./deploy.yaml 是你Gitea仓库根目录的deploy.yaml(需提前创建) + scp -i k3s.pem -o StrictHostKeyChecking=no ./deploy.yaml root@${K3S_HOST}:/tmp/ + + # ========== 核心修改:kubectl指向临时目录的文件,补充命名空间 ========== ssh -i k3s.pem -o StrictHostKeyChecking=no root@${K3S_HOST} << CMD - kubectl apply -f /data/k3s-data/deploy.yaml - kubectl rollout restart deployment ${APP_NAME} + kubectl apply -f /tmp/deploy.yaml # 替换原/k8s/deploy.yaml + kubectl rollout restart deployment ${APP_NAME} -n default # 加-n default避免找不到资源 + rm -f /tmp/deploy.yaml # 可选:部署后删除临时文件 CMD \ No newline at end of file diff --git a/deploy.yaml b/deploy.yaml deleted file mode 100644 index 28caf93..0000000 --- a/deploy.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: ${APP_NAME} - namespace: default - labels: - app: ${APP_NAME} -spec: - replicas: 1 - selector: - matchLabels: - app: ${APP_NAME} - template: - metadata: - labels: - app: ${APP_NAME} - spec: - containers: - - name: ${APP_NAME} - # 临时用公共镜像测试(避免依赖私有镜像),后续替换为你的镜像 - image: nginx:latest - imagePullPolicy: Always - ports: - - containerPort: 80 - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi ---- -apiVersion: v1 -kind: Service -metadata: - name: ${APP_NAME}-service - namespace: default -spec: - type: NodePort - selector: - app: ${APP_NAME} - ports: - - port: 80 - targetPort: 80 - nodePort: 30001 # 30000-32767区间内的端口 \ No newline at end of file