Files
SmartParks_uniapp/.gitea/workflows/dev.yml
mocheng a306981a08
Some checks failed
/ Explore-Gitea-Actions (push) Has been cancelled
发布生产
2025-08-26 12:27:25 +08:00

82 lines
3.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- prod
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu
steps:
- name: 拉取代码仓库
uses: http://git.missmoc.top/mocheng/checkout@v4
with:
fetch-depth: 0 # 只拉取最新的1个提交浅克隆
- name: Set up Node.js
uses: http://git.missmoc.top/mocheng/setup-node@v3
with:
node-version: 20.x
- name: 5. HBuilderX 账户登录
id: hbx_login
run: |
echo "开始登录 HBuilderX 账户..."
# 执行登录命令(读取 Gitea Secrets 中的账户密码)
LOGIN_OUTPUT=$(/hbuildcli/HBuilderX/cli user login --username ${{ secrets.HBUILDERX_USERNAME }} --password ${{ secrets.HBUILDERX_PASSWORD }})
# 打印登录输出(便于调试,无敏感信息)
echo "登录结果:$LOGIN_OUTPUT"
# 验证登录是否成功(根据文档,成功返回 "0:user login:OK"
if [[ $? -ne 0 || $(echo "$LOGIN_OUTPUT" | grep -c "0:user login:OK") -eq 0 ]]; then
echo "HBuilderX 登录失败!"
exit 1 # 登录失败则终止 CI/CD 流程
fi
echo "HBuilderX 登录成功!"
- name: 6. 打包 Uniapp实时显示排队/进度)
id: uniapp_build
run: |
echo "开始打包 Uniapp 项目,当前时间:$(date +%Y-%m-%d_%H:%M:%S)"
echo "========================================"
echo "正在查询打包队列状态..."
# (可选)提前查询队列(部分场景下 HBuilderX 会返回排队信息)
/hbuildcli/HBuilderX/cli publish --platform android --query-queue
echo "========================================"
echo "开始执行打包(实时输出进度)..."
# 执行打包命令(根据目标平台调整 --platform 参数,支持 android/ios/h5 等)
# --project指定项目根目录当前检出目录
# --output指定产物输出目录便于后续归档
BUILD_OUTPUT=$(/hbuildcli/HBuilderX/cli publish \
--platform android \
--project ./ \
--output ./unpackage/dist/build/android \
--progress # 强制输出打包进度(部分版本需显式指定)
)
# 实时打印打包日志(包含排队进度、编译进度等信息)
echo "$BUILD_OUTPUT"
# 验证打包是否成功(根据实际输出调整判断条件,示例:找 "打包成功" 关键字)
if [[ $? -ne 0 || $(echo "$BUILD_OUTPUT" | grep -c "打包成功") -eq 0 ]]; then
echo "Uniapp 打包失败!"
exit 1
fi
echo "========================================"
echo "Uniapp 打包完成!产物路径:./unpackage/dist/build/android"
- name: 7. 归档打包产物
uses: https://gitea.com/actions/upload-artifact@v1 # Gitea 产物归档插件
with:
name: uniapp-android-build # 产物压缩包名称
path: ./unpackage/dist/build/android # 产物目录(与步骤 6 的 --output 对应)
retention-days: 7 # 产物保留时间7 天,可调整)
post:
- name: 8. HBuilderX 账户登出
run: |
echo "开始登出 HBuilderX 账户..."
LOGOUT_OUTPUT=$(/hbuildcli/HBuilderX/cli user logout)
echo "登出结果:$LOGOUT_OUTPUT"
# 验证登出是否成功(根据文档,成功返回 "0:user logout:OK"
if [[ $(echo "$LOGOUT_OUTPUT" | grep -c "0:user logout:OK") -eq 0 ]]; then
echo "HBuilderX 登出异常(非致命错误,不终止流程)"
else
echo "HBuilderX 登出成功!"
fi