1 Commits

Author SHA1 Message Date
9cb2780fd6 增加setup_sharebuild_forAOSP14.sh脚本简化安装配置 (#9)
All checks were successful
CI/CD Pipeline for mengning.com.cn / build (push) Successful in 5m4s
Co-authored-by: 孟宁 <mengning@mengning.com.cn>
Reviewed-on: #9
Co-authored-by: YCH241010 <2416006706@qq.com>
Co-committed-by: YCH241010 <2416006706@qq.com>
2025-12-20 07:43:18 +00:00
6 changed files with 144 additions and 122 deletions

View File

@@ -94,37 +94,137 @@ function sidebarDevStar(): DefaultTheme.SidebarItem[] {
]
} as any,
{
text: '使用',
collapsible: true, // 使整个组可折叠
collapsed: false, // 默认展开
items: [
{ text: '快速入门AI+', link: 'src/devstar/usage/quick-start-with-ai' },
{
text: 'CI/CD工作流Actions',
collapsible: true, // 使整个组可折叠
collapsed: false, // 默认展开
items: [
{ text: 'Overview', link: 'src/devstar/actions/overview' },
{ text: '快速入门', link: 'src/devstar/actions/quickstart' },
]
},
{
text: '开发容器DevContainer',
collapsible: true, // 使整个组可折叠
collapsed: false, // 默认展开
items: [
{ text: 'Overview', link: 'src/devstar/devcontainer/overview' },
{ text: '快速入门', link: 'src/devstar/devcontainer/quickstart' },
]
},
]
} as any,
{
text: '更多帮助',
text: '管理',
collapsible: true, // 使整个组可折叠
collapsed: true, // 默认展开
items: [
{ text: 'Gitea常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' },
{ 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, // 默认展开
items: [
{ text: 'devcontainer', link: 'src/devstar/usage/quick-start-with-ai' },
{
text: '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: '软件包',
collapsible: true, // 使整个组可折叠
collapsed: true, // 默认展开
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: '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: '开发',
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' },
]
} as any,
]

View File

@@ -40,51 +40,36 @@ repo sync -j16
cd android-14.0.0_r2
source build/envsetup.sh # 初始化环境
lunch aosp_arm-eng # 选择目标配置
make # 执行单机编译,编译成功后可以看到:
make # 执行单机编译
```
编译成功后可以看到:
```
[ 99% 130084/130093] out/host/linux-x86/bin/resourceshrinker --output out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI
Shrunken apk stored in:
out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI/android_common/SystemUI-unsigned.apk.proto.out.apk
[100% 130093/130093] Target vbmeta image: out/target/product/generic/vbmeta.img
#### build completed successfully (02:20:12 (hh:mm:ss)) ####
```
```
[19:20:05.430], pending/wanted: 4, ready: 1, running: 0
#### build completed successfully (02:26:51 (hh:mm:ss)) ####
real 146m51.385s
user 1327m35.812s
sys 78m2.153s
root@lab1:/home/lab1/android-14.0.0_r2#
```
### 配置AOSP项目开启ShareBuild模式
* 将.sharebuild.yml 复制到 AOSP 根目录
* 到 AOSP 项目根目录下执行 setup_sharebuild_forAOSP14.sh 配置ShareBuild分布式编译
```
cd android-14.0.0_r2
cp /etc/ninja2/aosp14/.sharebuild.yml ./
```
* 进入AOSP14项目根目录替换 AOSP 内部 ninja 为 android_ninja
```
cp /usr/bin/android_ninja prebuilts/build-tools/linux-x86/bin/ninja
```
* 开启ShareBuild模式然后进行分布式编译。
项目根目录下创建ninja2.conf 文件如下即可开启ShareBuild模式
```
sharebuid:true
/etc/ninja2/aosp14/setup_sharebuild_forAOSP14.sh
```
* 在项目根目录下执行分布式编译
```bash
su # 切换到 root 关闭沙箱
source build/envsetup.sh # 初始化环境
lunch aosp_arm-eng # 选择目标配置
make # 执行分布式编译,编译成功后可以看到:
make # 执行分布式编译
```
编译成功后可以看到:
* 客户端节点:
```
[ShareBuild] Command will be executed REMOTELY
@@ -101,7 +86,7 @@ stdout: , stderr:
real 102m16.362s
user 1074m56.673s
sys 64m22.863s
root@lab1:/home/lab1/android-14.0.0_r2#
```
* 服务端节点sharebuild部分日志
```

View File

@@ -1,53 +0,0 @@
# 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短链接的好处
在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工作流执行时间。
## 调试CI/CD工作流配置文件脚本
DevStar已支持在线调试CI/CD工作流配置文件脚本调试方法如下
- 在项目仓库页面点击【工作流/Actions】然后选择进入某个工作流右上角【编辑并运行工作流】即可修改脚本再次执行运行成功后可以直接提交到对应的仓库分支。
> 本地配置调试CI/CD工作流的方法参加 [GitHub Local Actions](https://sanjulaganepola.github.io/github-local-actions-docs/) and https://nektosact.com/

View File

@@ -1,3 +0,0 @@
# DevStar CI/CD工作流 Actions 快速入门

View File

@@ -1,4 +0,0 @@
# DevStar DevContainer Overview

View File

@@ -1,3 +0,0 @@
# DevStar DevContainer 快速入门