taro icon indicating copy to clipboard operation
taro copied to clipboard

feat(taro-plugin-mini-ci): Taro 小程序端构建CI(持续集成)插件重大更新

Open bigmeow opened this issue 2 years ago • 1 comments

这个 PR 做了什么? (简要描述所做更改)

去年的PR实现了从0到1,经过一年的项目沉淀和反馈,此次更新以灵活性、输入输出规范统一为特点

功能特性

  • Taro 插件参数支持传入函数体,并应用到了@taro/plugin-mini-ci 插件 之前Taro插件做了强验证,只支持传入对象作为参数,新增了支持传入函数作为参数,更加灵活。 举个例子,比如“构建微信小程序时根据jenkins注入的构建号动态分配机器人编号”这个需求
  • 支持独立的 openpreviewupload 命令,操作自定义目录 适用于将taro作为项目一部分(混合开发)的开发场景
  • 重新联调了各个平台的CI,一年过去了,各大平台的CI包都有不同程度的更新(特别是头条、支付宝)
  • 新增 钉钉 小程序CI
  • 统一所有平台CI构建后的输出数据,并将数据传递给新增的onPreviewCompleteonUploadComplete两个钩子 用户可以编写新的插件,基于这个钩子实现 飞书钉钉CI 推送功能,我计划晚点推一个新插件实现这个功能,有强烈特殊定制的用户可基于这两个钩子可自行实现通知插件(比如发发布时短信通知之类的)

其他

  • 运行时动态加载各端CI包的方式变更,旧的require方式不支持pnpm link, 不方便调试
  • 编写了一些 ts 类型供开发插件时使用,维护更友好
  • 部分选项统一了字段,不兼容的选项已经在文档加了说明

这个 PR 是什么类型? (至少选择一个)

  • [ ] 错误修复(Bugfix) issue: fix #
  • [x] 新功能(Feature)
  • [x] 代码重构(Refactor)
  • [x] TypeScript 类型定义修改(Typings)
  • [x] 文档修改(Docs)
  • [ ] 代码风格更新(Code style update)
  • [ ] 其他,请描述(Other, please describe):

这个 PR 涉及以下平台:

  • [ ] 所有小程序
  • [x] 微信小程序
  • [x] 支付宝小程序
  • [x] 百度小程序
  • [x] 字节跳动小程序
  • [x] 钉钉小程序
  • [ ] QQ 轻应用
  • [ ] 京东小程序
  • [ ] 快应用平台(QuickApp)
  • [ ] Web 平台(H5)
  • [ ] 移动端(React-Native)

bigmeow avatar Sep 05 '22 07:09 bigmeow

swan upload 与 preview 验证 ok

zhiqingchen avatar Sep 06 '22 09:09 zhiqingchen

感谢贡献~

Chen-jj avatar Oct 20 '22 01:10 Chen-jj