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