news 2026/4/21 10:23:39

CI/CD—可持续发布relaeas,apk——无相无界(2)—东方仙盟

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CI/CD—可持续发布relaeas,apk——无相无界(2)—东方仙盟

自动构建CI/CD yml脚本

Continuous Integration / Continuous Deployment 发布到release

name: Build & Upload to Release on: push: branches: [ main ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Setup Gradle 8.7 uses: gradle/actions/setup-gradle@v3 with: gradle-version: '8.7' - name: Build Release APK run: | cd 未来之窗软件过程目录 gradle assembleRelease - name: Create Version Tag id: tag run: echo "tag=v$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT - name: Upload to GitHub Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.tag.outputs.tag }} name: "未来之窗软件过程目录 ${{ steps.tag.outputs.tag }}" body: "自动接听 + 铃声播报 APP" files: 未来之窗软件过程目录/app/build/outputs/apk/release/*.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GitHub Actions 自动化部署脚本,作用是:当你推代码到 main 分支,或者手动触发时,自动编译 Android APK,并上传到 GitHub Release 发布

我给你逐行通俗、完整、易懂地解释一遍:


完整代码解释

yaml

name: Build & Upload to Release

作用:给这个自动化任务起个名字,叫「构建并上传到 Release」。


yaml

on: push: branches: [ main ] workflow_dispatch:

触发条件

  1. 当你把代码push 推送到 main 分支时自动运行
  2. 也可以手动点击触发(workflow_dispatch)

yaml

jobs: build: runs-on: ubuntu-latest permissions: contents: write

任务配置

  • 运行环境:最新版 Ubuntu
  • 权限:允许写入仓库内容(用于创建 Release)

yaml

steps: - uses: actions/checkout@v4

第一步:把你的 GitHub 代码拉取到虚拟机里。


yaml

- name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin'

第二步:安装 Java 17 环境(编译 Android 必须用)。


yaml

- name: Setup Gradle 8.7 uses: gradle/actions/setup-gradle@v3 with: gradle-version: '8.7'

第三步:安装 Gradle 8.7(Android 构建工具)。


yaml

- name: Build Release APK run: | cd 未来之窗软件过程目录 gradle assembleRelease

第四步编译生成正式版 APK

  • 进入项目目录:未来之窗软件过程目录
  • 执行命令:gradle assembleRelease
  • 输出:app/build/outputs/apk/release/xxx.apk

yaml

- name: Create Version Tag id: tag run: echo "tag=v$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT

第五步:自动生成版本号格式:v202512291530(年月日时分)


yaml

- name: Upload to GitHub Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.tag.outputs.tag }} name: "未来之窗软件过程目录 ${{ steps.tag.outputs.tag }}" body: "自动接听 + 铃声播报 APP" files: 未来之窗软件过程目录/app/build/outputs/apk/release/*.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

第六步:最重要 —— 发布到 GitHub Release

  • 创建一个新的 Release
  • 标题:未来之窗软件过程目录 v2025xxxx
  • 描述:自动接听 + 铃声播报 APP
  • 上传文件:编译好的 APK
  • 使用 GitHub 自动提供的密钥进行发布

一句话总结这个脚本干什么

每次你提交代码到 main 分支,系统就自动帮你:

  1. 拉代码
  2. 装 Java/Gradle
  3. 编译 Android 正式版 APK
  4. 生成版本号
  5. 自动创建 GitHub Release 并上传 APK

这个脚本的最终效果

你去你的 GitHub 仓库 → 右侧Releases里,每次运行完,都会看到:

  • 一个新版本
  • 带时间戳的版本号
  • 一个可以直接下载的 APK 文件

人人皆为创造者,共创方能共成长

每个人都是使用者,也是创造者;是数字世界的消费者,更是价值的生产者与分享者。在智能时代的浪潮里,单打独斗的发展模式早已落幕,唯有开放连接、创意共创、利益共享,才能让个体价值汇聚成生态合力,让技术与创意双向奔赴,实现平台与伙伴的快速成长、共赢致远。

原创永久分成,共赴星辰大海


原创创意共创、永久收益分成,是东方仙盟始终坚守的核心理念。我们坚信,每一份原创智慧都值得被尊重与回馈,以永久分成锚定共创初心,让创意者长期享有价值红利,携手万千伙伴向着科技星辰大海笃定前行,拥抱硅基 生命与数字智能交融的未来,共筑跨越时代的数字文明共同体。

东方仙盟:拥抱知识开源,共筑数字新生态

在全球化与数字化浪潮中,东方仙盟始终秉持开放协作、知识共享的理念,积极拥抱开源技术与开放标准。我们相信,唯有打破技术壁垒、汇聚全球智慧,才能真正推动行业的可持续发展。

开源赋能中小商户:通过将前端异常检测、跨系统数据互联等核心能力开源化,东方仙盟为全球中小商户提供了低成本、高可靠的技术解决方案,让更多商家能够平等享受数字转型的红利。
共建行业标准:我们积极参与国际技术社区,与全球开发者、合作伙伴共同制定开放协议 与技术规范,推动跨境零售、文旅、餐饮等多业态的系统互联互通,构建更加公平、高效的数字生态。
知识普惠,共促发展:通过开源社区 、技术文档与培训体系,东方仙盟致力于将前沿技术转化为可落地的行业实践,赋能全球合作伙伴,共同培育创新人才,推动数字经济 的普惠式增长


阿雪技术观

在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者 。无论是分享代码、撰写技术博客,还是参与开源项目 维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基 生命,为科技进步添砖加瓦。

Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets , hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 10:20:07

力扣(python3自用)2026.4.20

最近没有刷力扣,罪过,主要是跑实验太累了,今天做了一道题437.路径总和iii给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始&#…

作者头像 李华
网站建设 2026/4/21 10:11:40

20260420软件测试

告别手写用例?2026年这7款AI测试工具让测试工程师彻底解放 📅 2026年4月20日 | 软件测试资讯 说一个测试圈里反复出现的场景: 需求文档发下来,测试同学对着密密麻麻的文字,一条一条整理测试点,再逐个写用例…

作者头像 李华