From 93262b9d1bb012c046aa421702dc0a9cfd288b9f Mon Sep 17 00:00:00 2001 From: mengning Date: Sat, 20 Dec 2025 07:22:55 +0000 Subject: [PATCH 1/5] add actions and devcontainer --- .vitepress/config.mts | 122 +++---------------------- src/devstar/actions/overview.md | 45 +++++++++ src/devstar/actions/quickstart.md | 3 + src/devstar/devcontainer/overview.md | 4 + src/devstar/devcontainer/quickstart.md | 3 + 5 files changed, 66 insertions(+), 111 deletions(-) create mode 100644 src/devstar/actions/overview.md create mode 100644 src/devstar/actions/quickstart.md create mode 100644 src/devstar/devcontainer/overview.md create mode 100644 src/devstar/devcontainer/quickstart.md diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 29bf853..8c17b29 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -93,138 +93,38 @@ function sidebarDevStar(): DefaultTheme.SidebarItem[] { { text: 'app.ini配置文件', link: 'src/devstar/install/app-ini' }, ] } as any, - { - text: '管理', - collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 - items: [ - { text: '命令行', link: 'https://docs.gitea.com/zh-cn/administration/command-line' }, - { text: '认证', link: 'https://docs.gitea.com/zh-cn/administration/authentication' }, - { text: '环境变量清单', link: 'https://docs.gitea.com/zh-cn/administration/environment-variables' }, - { text: '备份与恢复', link: 'https://docs.gitea.com/zh-cn/administration/backup-and-restore' }, - { text: 'Email设置', link: 'https://docs.gitea.com/zh-cn/administration/email-setup' }, - { text: 'Git LFS设置', link: 'https://docs.gitea.com/zh-cn/administration/git-lfs-setup' }, - { text: 'HTTPS配置', link: 'https://docs.gitea.com/zh-cn/administration/https-setup' }, - { text: '设置Fail2ban', link: 'https://docs.gitea.com/zh-cn/administration/fail2ban-setup' }, - { text: '反向代理', link: 'https://docs.gitea.com/zh-cn/administration/reverse-proxies' }, - { text: '嵌入资源提取工具', link: 'https://docs.gitea.com/zh-cn/administration/cmd-embedded' }, - { text: '配置说明', link: 'https://docs.gitea.com/zh-cn/administration/config-cheat-sheet' }, - { text: '日志配置', link: 'https://docs.gitea.com/zh-cn/administration/logging-config' }, - { text: '邮件模板', link: 'https://docs.gitea.com/zh-cn/administration/mail-templates' }, - { text: '仓库索引器', link: 'https://docs.gitea.com/zh-cn/administration/repo-indexer' }, - { text: 'GPG提交签名', link: 'https://docs.gitea.com/zh-cn/administration/signing' }, - { text: '外部渲染器', link: 'https://docs.gitea.com/zh-cn/administration/external-renderers' }, - { text: '搜索引擎索引', link: 'https://docs.gitea.com/zh-cn/administration/search-engines-indexation' }, - { text: '自定义Gitea配置', link: 'https://docs.gitea.com/zh-cn/administration/customizing-gitea' }, - { text: '添加法律页面', link: 'https://docs.gitea.com/zh-cn/administration/adding-legal-pages' } - ] - } as any, { text: '使用', collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 + collapsed: false, // 默认展开 items: [ - { text: 'devcontainer', link: 'src/devstar/usage/quick-start-with-ai' }, + { text: '快速入门AI+', link: 'src/devstar/usage/quick-start-with-ai' }, { - text: 'Actions', + text: 'CI/CD工作流Actions', collapsible: true, // 使整个组可折叠 collapsed: false, // 默认展开 items: [ - { text: 'Overview', link: 'https://docs.gitea.com/zh-cn/usage/actions/overview' }, - { text: '快速入门', link: 'https://docs.gitea.com/zh-cn/usage/actions/quickstart' }, - { text: '与GitHub Actions的对比', link: 'https://docs.gitea.com/zh-cn/usage/actions/comparison' }, - { text: 'Act Runner', link: 'https://docs.gitea.com/zh-cn/usage/actions/act-runner' }, - { text: '变量', link: 'https://docs.gitea.com/zh-cn/usage/actions/actions-variables' }, - { text: 'Gitea Actions设计', link: 'https://docs.gitea.com/zh-cn/usage/actions/design' }, - { text: '密钥管理', link: 'https://docs.gitea.com/zh-cn/usage/actions/secrets' }, - { text: 'Gitea Actions常见问题解答', link: 'https://docs.gitea.com/zh-cn/usage/actions/faq' }, - { text: 'Badge', link: 'https://docs.gitea.com/zh-cn/usage/actions/badge' } + { text: 'Overview', link: 'src/devstar/actions/overview' }, + { text: '快速入门', link: 'src/devstar/actions/quickstart' }, ] }, { - text: '软件包', + text: '开发容器DevContainer', collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 + collapsed: false, // 默认展开 items: [ - { text: '软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/overview' }, - { text: 'Alpine 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/alpine' }, - { text: 'Arch package registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/arch' }, - { text: 'Cargo 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cargo' }, - { text: 'Chef 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/chef' }, - { text: '存储', link: 'https://docs.gitea.com/zh-cn/usage/packages/storage' }, - { text: 'Composer 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/composer' }, - { text: 'Conan 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conan' }, - { text: 'Conda 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conda' }, - { text: '容器注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/container' }, - { text: 'CRAN 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cran' }, - { text: 'Go 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/go' }, - { text: 'Helm Chart 注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/helm' }, - { text: 'Maven 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/maven' }, - { text: 'NPM Package Registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/npm' }, - { text: 'NuGet 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/nuget' }, - { text: 'Pub 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pub' }, - { text: 'PyPI 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pypi' }, - { text: 'RPM 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/packages/rpm' }, - { text: 'RubyGems 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/rubygems' }, - { text: 'Swift 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/swift' }, - { text: 'Vagrant 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/vagrant' }, - { text: '通用软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/generic' }, - { text: 'Debian 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/debian' } + { text: 'Overview', link: 'src/devstar/devcontainer/overview' }, + { text: '快速入门', link: 'src/devstar/devcontainer/quickstart' }, ] }, - { text: 'AGit', link: 'https://docs.gitea.com/zh-cn/usage/agit' }, - { text: '个人资料 README', link: 'https://docs.gitea.com/zh-cn/usage/profile-readme' }, - { text: 'Blame File View', link: 'https://docs.gitea.com/zh-cn/usage/blame' }, - { text: '邮件接收', link: 'https://docs.gitea.com/zh-cn/usage/incoming-email' }, - { text: '标签', link: 'https://docs.gitea.com/zh-cn/usage/labels' }, - { text: '合并请求', link: 'https://docs.gitea.com/zh-cn/usage/pull-request' }, - { text: '权限', link: 'https://docs.gitea.com/zh-cn/usage/permissions' }, - { text: '模板仓库', link: 'https://docs.gitea.com/zh-cn/usage/template-repositories' }, - { text: '从模板创建工单与合并请求', link: 'https://docs.gitea.com/zh-cn/usage/issue-pull-request-templates' }, - { text: '自动链接引用', link: 'https://docs.gitea.com/zh-cn/usage/automatically-linked-references' }, - { text: '合并消息模板', link: 'https://docs.gitea.com/zh-cn/usage/merge-message-template' }, - { text: '推送', link: 'https://docs.gitea.com/zh-cn/usage/push' }, - { text: 'Blocking a user', link: 'https://docs.gitea.com/zh-cn/usage/blocking-user' }, - { text: '克隆过滤器 (部分克隆)', link: 'https://docs.gitea.com/zh-cn/usage/clone-filters' }, - { text: 'Code Owners', link: 'https://docs.gitea.com/zh-cn/usage/code-owners' }, - { text: 'Webhooks', link: 'https://docs.gitea.com/zh-cn/usage/webhooks' }, - { text: 'Migration', link: 'https://docs.gitea.com/zh-cn/usage/migration' }, - { text: '受保护的标签', link: 'https://docs.gitea.com/zh-cn/usage/protected-tags' }, - { text: '仓库镜像', link: 'https://docs.gitea.com/zh-cn/usage/repo-mirror' }, - { text: 'Markdown', link: 'https://docs.gitea.com/zh-cn/usage/markdown' }, - { text: 'Multi-factor Authentication (MFA)', link: 'https://docs.gitea.com/zh-cn/usage/multi-factor-authentication' } ] } as any, { - text: '开发', + text: '更多帮助', collapsible: true, // 使整个组可折叠 collapsed: true, // 默认展开 items: [ - { text: '玩转 Gitea', link: 'https://docs.gitea.com/zh-cn/development/hacking-on-gitea' }, - { text: 'API 使用指南', link: 'https://docs.gitea.com/zh-cn/development/api-usage' }, - { text: 'OAuth2 提供者', link: 'https://docs.gitea.com/zh-cn/development/oauth2-provider' }, - { text: '迁移接口', link: 'https://docs.gitea.com/zh-cn/development/migrations-interfaces' }, - { text: '集成', link: 'https://docs.gitea.com/zh-cn/development/integrations' } - ] - } as any, - { - text: '贡献', - collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 - items: [ - { text: '后端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-backend' }, - { text: '前端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-frontend' }, - { text: '重构指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-refactoring' }, - { text: '本地化', link: 'https://docs.gitea.com/zh-cn/contributing/localization' } - ] - } as any, - { - text: '帮助', - collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 - items: [ - { text: '常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' }, - { text: '支持选项', link: 'https://docs.gitea.com/zh-cn/help/support' }, + { text: 'Gitea常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' }, ] } as any, ] diff --git a/src/devstar/actions/overview.md b/src/devstar/actions/overview.md new file mode 100644 index 0000000..5515a2f --- /dev/null +++ b/src/devstar/actions/overview.md @@ -0,0 +1,45 @@ +# DevStar CI/CD工作流 Actions Overview + +DevStar基于Gitea Actions开发了开箱即用的CI/CD工作流解决方案, 兼容Github Actions生态系统。 + +> - 本站中Actions是指DevStar开箱即用的CI/CD工作流解决方案,从不同方面兼容Gitea Actions和Github Actions。 +> - 本站中actions/action是指Actions要使用的脚本/插件,比如"actions/checkout@v4" 或 "kekxv/AiReviewPR@v0.0.6"。 + +## Actions的安装配置方法 + +- DevStar安装过程中会默认启动一个全局的Actions Runner; +- 一键启动Actions Runner + +在项目设置、用户设置、组织设置和后台管理中,如果当前用户有创建Actions Runner的权限,可在工作流Actions板块下点击【创建新运行器】,找到【一键启动运行器】可以创建相应作用范围的Actions Runner。 + +- 手工启动Actions Runner + +在项目设置、用户设置、组织设置和后台管理中,可以在工作流Actions板块下点击【创建新运行器】,可以复制Registration Token。 + +> 不同位置复制的Registration Token创建的Actions Runner有不同的作用范围。 + +``` +$ docker run --name devstar-runner -d -v /var/run/docker.sock:/var/run/docker.sock \ + -e GITEA_INSTANCE_URL=${YOUR_DEVSTAR_URL} \ + -e GITEA_RUNNER_REGISTRATION_TOKEN=${YOUR_DEVSTAR_RUNNER_REGISTRATION_TOKEN} \ + devstar.cn/devstar/act_runner:latest +``` + +## 使用actions/action短链接的好处 + +在DevStar CI/CD工作流配置文件中(如.gitea/workflows/ci-cd.yaml)使用不包含域名的actions/action短链接,DevStar会智能判断当前平台上是否有相同名称的仓库或镜像仓库,如有则使用当前平台的仓库,没有则默认使用github.com上的仓库。 + +``` + - name: 🔍 Check out repository code + uses: actions/checkout@v4 + + - name: AI Review code + uses: kekxv/AiReviewPR@v0.0.6 + + - name: Report Test Results + if: always() && github.event_name == 'pull_request' + uses: actions/github-script@v6 +``` + +> 类似以上actions/action短链接仓库,如果在当前DevStar平台上创建相应的镜像仓库,可以缩短DevStar CI/CD工作流执行时间。 + diff --git a/src/devstar/actions/quickstart.md b/src/devstar/actions/quickstart.md new file mode 100644 index 0000000..98ec530 --- /dev/null +++ b/src/devstar/actions/quickstart.md @@ -0,0 +1,3 @@ + +# DevStar CI/CD工作流 Actions 快速入门 + diff --git a/src/devstar/devcontainer/overview.md b/src/devstar/devcontainer/overview.md new file mode 100644 index 0000000..d766277 --- /dev/null +++ b/src/devstar/devcontainer/overview.md @@ -0,0 +1,4 @@ +# DevStar DevContainer Overview + + + diff --git a/src/devstar/devcontainer/quickstart.md b/src/devstar/devcontainer/quickstart.md new file mode 100644 index 0000000..a309a83 --- /dev/null +++ b/src/devstar/devcontainer/quickstart.md @@ -0,0 +1,3 @@ + +# DevStar DevContainer 快速入门 + -- 2.49.1 From 6d04f0b0d0f2605f723d1040da79d638f992a049 Mon Sep 17 00:00:00 2001 From: mengning Date: Sat, 20 Dec 2025 08:03:43 +0000 Subject: [PATCH 2/5] =?UTF-8?q?update=20DevStar=20CI/CD=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=20Actions=20Overview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/devstar/actions/overview.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/devstar/actions/overview.md b/src/devstar/actions/overview.md index 5515a2f..d2af896 100644 --- a/src/devstar/actions/overview.md +++ b/src/devstar/actions/overview.md @@ -25,7 +25,7 @@ $ docker run --name devstar-runner -d -v /var/run/docker.sock:/var/run/docker.s devstar.cn/devstar/act_runner:latest ``` -## 使用actions/action短链接的好处 +## 使用actions短链接的好处 在DevStar CI/CD工作流配置文件中(如.gitea/workflows/ci-cd.yaml)使用不包含域名的actions/action短链接,DevStar会智能判断当前平台上是否有相同名称的仓库或镜像仓库,如有则使用当前平台的仓库,没有则默认使用github.com上的仓库。 @@ -43,3 +43,11 @@ $ docker run --name devstar-runner -d -v /var/run/docker.sock:/var/run/docker.s > 类似以上actions/action短链接仓库,如果在当前DevStar平台上创建相应的镜像仓库,可以缩短DevStar CI/CD工作流执行时间。 +## 调试CI/CD工作流配置文件脚本 + +DevStar已支持在线调试CI/CD工作流配置文件脚本,调试方法如下: + +- 在项目仓库页面点击【工作流/Actions】,然后选择进入某个工作流,右上角【编辑并运行工作流】即可修改脚本再次执行,运行成功后可以直接提交到对应的仓库分支。 + +> 本地配置调试CI/CD工作流的方法参加 [GitHub Local Actions](https://sanjulaganepola.github.io/github-local-actions-docs/) and https://nektosact.com/ + -- 2.49.1 From 7fe6efd45aca54c401a2843fe4dcd7a64ebe2ea4 Mon Sep 17 00:00:00 2001 From: mengning Date: Sun, 21 Dec 2025 07:24:06 +0000 Subject: [PATCH 3/5] update actions docs --- .vitepress/config.mts | 2 +- src/devstar/actions/overview.md | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 8c17b29..75d7b3c 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -122,7 +122,7 @@ function sidebarDevStar(): DefaultTheme.SidebarItem[] { { text: '更多帮助', collapsible: true, // 使整个组可折叠 - collapsed: true, // 默认展开 + collapsed: false, // 默认展开 items: [ { text: 'Gitea常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' }, ] diff --git a/src/devstar/actions/overview.md b/src/devstar/actions/overview.md index d2af896..4a752a5 100644 --- a/src/devstar/actions/overview.md +++ b/src/devstar/actions/overview.md @@ -27,7 +27,7 @@ $ docker run --name devstar-runner -d -v /var/run/docker.sock:/var/run/docker.s ## 使用actions短链接的好处 -在DevStar CI/CD工作流配置文件中(如.gitea/workflows/ci-cd.yaml)使用不包含域名的actions/action短链接,DevStar会智能判断当前平台上是否有相同名称的仓库或镜像仓库,如有则使用当前平台的仓库,没有则默认使用github.com上的仓库。 +在DevStar CI/CD工作流配置文件中(如.gitea/workflows/ci-cd.yaml)使用不包含域名的actions短链接,DevStar会智能判断当前平台上是否有相同名称的仓库或镜像仓库,如有则使用当前平台的仓库,没有则默认使用github.com上的仓库。 ``` - name: 🔍 Check out repository code @@ -41,13 +41,16 @@ $ docker run --name devstar-runner -d -v /var/run/docker.sock:/var/run/docker.s uses: actions/github-script@v6 ``` -> 类似以上actions/action短链接仓库,如果在当前DevStar平台上创建相应的镜像仓库,可以缩短DevStar CI/CD工作流执行时间。 +> 类似以上actions短链接仓库,如果在当前DevStar平台上创建相应的镜像仓库,可以智能选择拉取本平台上的仓库,从而避免github.com网络访问问题影响CI/CD工作流的执行。 -## 调试CI/CD工作流配置文件脚本 +## 调试CI/CD工作流 DevStar已支持在线调试CI/CD工作流配置文件脚本,调试方法如下: - 在项目仓库页面点击【工作流/Actions】,然后选择进入某个工作流,右上角【编辑并运行工作流】即可修改脚本再次执行,运行成功后可以直接提交到对应的仓库分支。 -> 本地配置调试CI/CD工作流的方法参加 [GitHub Local Actions](https://sanjulaganepola.github.io/github-local-actions-docs/) and https://nektosact.com/ +> 本地配置调试CI/CD工作流的方法参见: +> - https://cli.github.com +> - [GitHub Local Actions](https://sanjulaganepola.github.io/github-local-actions-docs/) +> - https://nektosact.com/ -- 2.49.1 From d9dbc28199b370b09865a732431f3978329d455f Mon Sep 17 00:00:00 2001 From: mengning Date: Sun, 21 Dec 2025 07:46:51 +0000 Subject: [PATCH 4/5] update CI Actions and deploy --- .../mengningsoftware-docs-ci-cd.yaml | 32 +++++++++---------- .../workflows/application.yaml => deploy.yaml | 2 +- 2 files changed, 16 insertions(+), 18 deletions(-) rename .gitea/workflows/application.yaml => deploy.yaml (92%) diff --git a/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml b/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml index fea0a4d..831e09d 100644 --- a/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml +++ b/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml @@ -10,13 +10,13 @@ on: jobs: build: runs-on: ubuntu-latest - container: - image: gitea/runner-images:ubuntu-latest + # container: + # image: gitea/runner-images:ubuntu-latest steps: - name: 拉取代码 - uses: https://devstar.cn/actions/checkout@v4 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: 安装依赖 working-directory: @@ -32,21 +32,17 @@ jobs: - name: 构建 Docker 镜像 run: | - docker build -t devstar-docs:${{ gitea.sha }} . + docker build -t devstar.cn/devstar/devstar-docs:latest . - name: 登录 Docker Registry 并推送镜像 + if: github.event_name != 'pull_request' 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 }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:${{ gitea.sha }} - docker tag devstar-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest - docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:${{ gitea.sha }} - docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest + docker push devstar.cn/devstar/devstar-docs:latest - name: 📝 Update mengning.com.cn(通过删除/创建 Application CRD) + if: github.event_name != 'pull_request' env: - DOCKER_REGISTRY_ADDRESS: ${{ vars.DOCKER_REGISTRY_ADDRESS }} - DOCKER_REPOSITORY_ARTIFACT: ${{ vars.DOCKER_REPOSITORY_ARTIFACT }} - DOCKER_IMAGE_TAG: ${{ gitea.sha }} TLS_CERTIFICATE: ${{ secrets.TLS_CERTIFICATE }} TLS_PRIVATE_KEY: ${{ secrets.TLS_PRIVATE_KEY }} run: | @@ -68,12 +64,14 @@ jobs: --dry-run=client -o yaml | kubectl apply -f - rm -f /tmp/tls.crt /tmp/tls.key - # 替换 Application YAML 中的镜像地址变量并应用 - sed "s|\${DOCKER_REGISTRY_ADDRESS}|${DOCKER_REGISTRY_ADDRESS}|g; s|\${DOCKER_REPOSITORY_ARTIFACT}|${DOCKER_REPOSITORY_ARTIFACT}|g; s|\${DOCKER_IMAGE_TAG}|${DOCKER_IMAGE_TAG}|g" \ - .gitea/workflows/application.yaml > /tmp/application-crd.yaml - # 删除旧的 Application CRD(如果存在,忽略错误) kubectl delete application mengningsoftware -n web-servers --ignore-not-found=true || true # 创建新的 Application CRD - kubectl apply -f /tmp/application-crd.yaml \ No newline at end of file + kubectl apply -f deploy.yaml + + - name: Clean Environment + if: always() + run: | + docker rmi devstar.cn/devstar/devstar-docs:latest || true + docker builder prune -f || true \ No newline at end of file diff --git a/.gitea/workflows/application.yaml b/deploy.yaml similarity index 92% rename from .gitea/workflows/application.yaml rename to deploy.yaml index 9b5a6f7..3a01b1d 100644 --- a/.gitea/workflows/application.yaml +++ b/deploy.yaml @@ -44,7 +44,7 @@ spec: targetPort: http template: type: stateless - image: ${DOCKER_REGISTRY_ADDRESS}/${DOCKER_REPOSITORY_ARTIFACT}:${DOCKER_IMAGE_TAG} + image: devstar.cn/devstar/devstar-docs:latest ports: - name: http port: 80 -- 2.49.1 From f0d59db967f49203d1ec8cbf462e97a20d9259e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E5=AE=81?= Date: Sun, 21 Dec 2025 08:55:36 +0000 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/mengn?= =?UTF-8?q?ingsoftware-docs-ci-cd.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mengningsoftware-docs-ci-cd.yaml | 152 +++++++++--------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml b/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml index 831e09d..8772579 100644 --- a/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml +++ b/.gitea/workflows/mengningsoftware-docs-ci-cd.yaml @@ -1,77 +1,77 @@ -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: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: 安装依赖 - working-directory: - run: | - npm install - npm add -D vitepress - - - name: 构建项目 - working-directory: - run: | - chmod +x node_modules/.bin/vitepress - npm run build - - - name: 构建 Docker 镜像 - run: | - docker build -t devstar.cn/devstar/devstar-docs:latest . - - - name: 登录 Docker Registry 并推送镜像 - if: github.event_name != 'pull_request' - run: | - echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin - docker push devstar.cn/devstar/devstar-docs:latest - - - name: 📝 Update mengning.com.cn(通过删除/创建 Application CRD) - if: github.event_name != 'pull_request' - env: - TLS_CERTIFICATE: ${{ secrets.TLS_CERTIFICATE }} - TLS_PRIVATE_KEY: ${{ secrets.TLS_PRIVATE_KEY }} - 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 - - # 创建或更新 TLS Secret - # Secret 名称: mengningsoftware-tls - echo "$TLS_CERTIFICATE" > /tmp/tls.crt - echo "$TLS_PRIVATE_KEY" > /tmp/tls.key - kubectl create secret tls mengningsoftware-tls \ - --cert=/tmp/tls.crt \ - --key=/tmp/tls.key \ - -n istio-system \ - --dry-run=client -o yaml | kubectl apply -f - - rm -f /tmp/tls.crt /tmp/tls.key - - # 删除旧的 Application CRD(如果存在,忽略错误) - kubectl delete application mengningsoftware -n web-servers --ignore-not-found=true || true - - # 创建新的 Application CRD - kubectl apply -f deploy.yaml - - - name: Clean Environment - if: always() - run: | - docker rmi devstar.cn/devstar/devstar-docs:latest || true +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: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: 安装依赖 + working-directory: + run: | + npm install + npm add -D vitepress + + - name: 构建项目 + working-directory: + run: | + chmod +x node_modules/.bin/vitepress + npm run build + + - name: 构建 Docker 镜像 + run: | + docker build -t devstar.cn/devstar/devstar-docs:latest . + + - name: 登录 Docker Registry 并推送镜像 + if: github.event_name != 'pull_request' + run: | + echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin + docker push devstar.cn/devstar/devstar-docs:latest + + - name: 📝 Update mengning.com.cn(通过删除/创建 Application CRD) + if: github.event_name != 'pull_request' + env: + TLS_CERTIFICATE: ${{ secrets.TLS_CERTIFICATE }} + TLS_PRIVATE_KEY: ${{ secrets.TLS_PRIVATE_KEY }} + 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 + + # 创建或更新 TLS Secret + # Secret 名称: mengningsoftware-tls + echo "$TLS_CERTIFICATE" > /tmp/tls.crt + echo "$TLS_PRIVATE_KEY" > /tmp/tls.key + kubectl create secret tls mengningsoftware-tls \ + --cert=/tmp/tls.crt \ + --key=/tmp/tls.key \ + -n istio-system \ + --dry-run=client -o yaml | kubectl apply -f - + rm -f /tmp/tls.crt /tmp/tls.key + + # 删除旧的 Application CRD(如果存在,忽略错误) + kubectl delete application mengningsoftware -n web-servers --ignore-not-found=true || true + + # 创建新的 Application CRD + kubectl apply -f deploy.yaml + + - name: Clean Environment + if: always() + run: | + docker rmi devstar.cn/devstar/devstar-docs:latest || true docker builder prune -f || true \ No newline at end of file -- 2.49.1