diff --git a/.gitea/workflows/devstar-studio-master.yaml b/.gitea/workflows/devstar-studio-master.yaml new file mode 100644 index 0000000..3cbf2cc --- /dev/null +++ b/.gitea/workflows/devstar-studio-master.yaml @@ -0,0 +1,93 @@ +# devstar-studio-master-ci.yaml +# DevStar 测试并构建制品 CI 工作流定义 (默认分支 master) +# +# Artifact命名规则: +# 1. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest +# e.g., devstar.cn/devstar/devstar-studio:latest +# 2. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-master-${{ gitea.sha }} +# e.g., devstar.cn/devstar/devstar-studio:rootless-dev-0047d315a3f73cca0c18c641d24b0347456618d5 +# 其中, +# - rootless 表示非 root 权限容器 +# - dev 表示分支类别: dev 分支(默认分支) +# - ${{ gitea.sha }} 表示触发 CI Workflow 的 commit SHA +# +# 构建参数设置 +# 点击仓库 > 设置 > Actions > 密钥: +# - ${{ secrets.DOCKER_REGISTRY_USERNAME }}: Docker Registry 用户名 +# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: Docker Registry 密码 +# 点击仓库 > 设置 > Actions > 变量: +# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: Docker Registry 域名, e.g., `devstar.cn` +# - ${{ vars.DOCKER_REPOSITORY_ARTIFACT}}: 制品名称, e.g., `devstar/devstar-studio` +# + +name: DevStar Studio CI Pipeline - master branch +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build-and-push-x86-64-docker-image: + # Actual runs-on image: docker.io/library/gitea/runner_image:ubuntu-latest + runs-on: ubuntu-latest + steps: + - name: 🔍 Check out repository code + uses: https://devstar.cn/actions/checkout@v4 + with: + ref: master + - name: 🔧 Test Codes and Build an Artifact + run: | + echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}." + make docker + - name: 🚀 Push Artifact to devstar.cn and docker.io Registry + run: | + docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }} + docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest + echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }} + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest + GITHUB_TOKEN="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"; REPO="mengning/DevStar"; WORKFLOW_FILE="PushDevStarImage2DockerHub.yml"; BRANCH="main"; URL="https://api.github.com/repos/$REPO/actions/workflows/$WORKFLOW_FILE/dispatches"; response=$(curl -s -o /dev/null -w "%{http_code}" -X POST "$URL" -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github.v3+json" -d "{\"ref\":\"$BRANCH\"}"); if [ "$response" -eq 204 ]; then echo "将devstar-studio:latest同步到docker.io的Github工作流触发成功!"; else echo "将devstar-studio:latest同步到docker.io的Github工作流触发失败:HTTP 状态码 $response"; fi + docker tag devstar-controller-manager:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }} + docker tag devstar-controller-manager:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:latest + echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }} + docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:latest + - name: 🍏 Job Status Report + run: | + echo "🍏 This job's status is ${{ job.status }}." + echo "Output Artifact: ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}" + echo "=> Artifact Tag: latest" + echo "=> Artifact Tag: rootless-dev-${{ gitea.sha }}" + echo "Output Artifact: ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }}" + echo "=> Artifact Tag: latest" + echo "=> Artifact Tag: rootless-dev-${{ gitea.sha }}" + - name: 📝 Update dev.devstar.cn + 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 + kubectl set image deployment/dev-devstar-studio-gitea gitea=${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }} -n devstar-studio-ns + + +# +# P.S.: +################################################################################ +# 1. How to config runner: +# $ docker run \ +# --name gitea-act-runner-repo-devstar-studio \ +# -d \ +# -e GITEA_INSTANCE_URL=https://www.devstar.cn \ +# -e GITEA_RUNNER_REGISTRATION_TOKEN=${YOUR_GITEA_RUNNER_REGISTRATION_TOKEN} \ +# -v /var/run/docker.sock:/var/run/docker.sock \ +# gitea/act_runner:latest +# +# 2. To clean the docker cache: +# $ docker builder prune --force +# $ if [ "$(docker volume ls -qf dangling=true)" ]; then docker volume rm $(docker volume ls -qf dangling=true); fi +# diff --git a/README.md b/README.md index 8501328..28b0594 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,6 @@ link链接的内容既可以是网页链接,也可以是本地文档 ## 如何自定义网站样式 在docs/.vitepress/theme/style.css中自定义网站样式 +## 如何添加或修改导航栏 +在docs/.vitepress/config.mts中的nav进行修改 + diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index f776a46..2407c7a 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -10,7 +10,7 @@ } .curtain { - background-color: #fff !important; + background-color: white !important; } /* 首页图片 */ @@ -53,7 +53,7 @@ img.VPImage.image-src { } .VPSidebarItem .level-1 .text { - color: #606770; + /* color: #606770; */ /* color: #333333 !important; */ font-weight: 700 !important; }