Files
docs/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml
lat5211 59f3510984
All checks were successful
CI Pipeline / build (push) Successful in 1m59s
更新 .gitea/workflows/mengningsoftware-docs-ci-cd.yaml
2025-09-06 09:07:48 +00:00

57 lines
2.0 KiB
YAML

name: CI Pipeline
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
container:
image: gitea/runner-images:ubuntu-latest
steps:
- name: 拉取代码
uses: https://devstar.cn/actions/checkout@v4
with:
fetch-depth: 0
- name: 安装依赖
working-directory:
run: |
npm install
npm add -D vitepress
- name: 构建项目
working-directory:
run: |
chmod +x node_modules/.bin/vitepress
npm run docs:build
- name: 构建 Docker 镜像
run: |
docker build -t mengningsoftware-docs:${{ gitea.sha }} .
- name: 登录 Docker Registry 并推送镜像
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
docker tag mengningsoftware-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/mengningsoftware/docs:${{ gitea.sha }}
docker tag mengningsoftware-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/mengningsoftware/docs:latest
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/mengningsoftware/docs:${{ gitea.sha }}
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/mengningsoftware/docs:latest
- name: 安装 kubectl
run: |
curl -LO https://mirrors.ustc.edu.cn/kubernetes/core%3A/stable%3A/v1.28/deb/amd64/kubectl_1.28.0-1.1_amd64.deb
sudo dpkg -i kubectl_1.28.0-1.1_amd64.deb
- name: 配置 kubeconfig
env:
KUBECONFIG_CONTENT: ${{ secrets.KUBECONFIG_CONTENT }}
run: |
mkdir -p ~/.kube
echo "$KUBECONFIG_CONTENT" > ~/.kube/config
- name: 部署到 Kubernetes
run: |
kubectl set image deployment/docs-app \
docs=${{ vars.DOCKER_REGISTRY_ADDRESS }}/mengningsoftware/docs:${{ gitea.sha }} \
-n app
kubectl rollout status deployment/docs-app -n app