diff --git a/.gitea/workflows/mengningsoftware-docs-ci-cd-crd.yaml b/.gitea/workflows/mengningsoftware-docs-ci-cd-crd.yaml new file mode 100644 index 0000000..861fce2 --- /dev/null +++ b/.gitea/workflows/mengningsoftware-docs-ci-cd-crd.yaml @@ -0,0 +1,118 @@ +name: CI/CD Pipeline for mengning.com.cn +on: + push: + branches: + - main + pull_request: + branches: + - main + +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 devstar-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 devstar-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:${{ gitea.sha }} + docker tag devstar-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:latest + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:${{ gitea.sha }} + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:latest + + - name: 📝 Update mengning.com.cn(通过删除/创建 Application CRD) + env: + DOCKER_REGISTRY_ADDRESS: ${{ vars.DOCKER_REGISTRY_ADDRESS }} + 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 + kubectl config set-cluster remote-cluster --server=${{ secrets.K8S_URL }} --insecure-skip-tls-verify=true + kubectl config set-credentials token-user --token=${{ secrets.K8S_TOKEN }} + kubectl config set-context remote-context --cluster=remote-cluster --user=token-user + kubectl config use-context remote-context + + # 生成与当前集群中 mengningsoftware Application 一致的 CRD YAML,只更新镜像地址 + cat > /tmp/application-crd.yaml <