Skip to content

Jenkins 自动化出包部署

使用 Jenkins 实现 Unity/iOS/Android 三端自动化出包和部署。

背景

从盛和时期就开始用 Jenkins 自动化出包。到了小鹏,一张图的出包流程更复杂——多分支、多版本、多平台。

流水线

Git Push → Jenkins Webhook

1. Checkout 代码(指定分支)
2. Unity Build(-batchmode -quit)
3. Android Gradle Build / Xcode Archive
4. 上传产物到 Maven / 分发平台
5. 飞书通知(成功/失败 + 下载链接)

Unity 命令行构建

bash
/Applications/Unity/Unity.app/Contents/MacOS/Unity \
  -batchmode -quit \
  -projectPath /path/to/project \
  -buildTarget Android \
  -executeMethod BuildPipeline.PerformBuild \
  -logFile build.log

Jenkinsfile

groovy
pipeline {
    agent any
    stages {
        stage('Unity Build') {
            steps {
                sh 'unity -batchmode -quit -buildTarget Android ...'
            }
        }
        stage('Archive') {
            steps {
                archiveArtifacts artifacts: 'build/*.apk'
            }
        }
        stage('Notify') {
            steps {
                sh 'feishu-notify "Build success: v${BUILD_NUMBER}"'
            }
        }
    }
    post {
        failure {
            sh 'feishu-notify "Build failed: v${BUILD_NUMBER}"'
        }
    }
}

经验

  • Unity batchmode 构建比 GUI 构建可靠(不受 Unity 编辑器 UI 影响)
  • 构建日志要保存——排查"为什么打包失败"的第一手资料
  • 飞书通知很重要——不要让团队成员去 Jenkins 页面手动查构建状态

公开版深化

案例定位

Jenkins 自动化出包部署不是孤立笔记,而是AI 与工具链能力下的一个可复用案例。它服务于“小鹏一张图 / SR 渲染引擎”这条主线,公开版重点保留问题抽象、工程取舍和可复用方法,不暴露内部系统细节。

关键问题

使用 Jenkins 实现 Unity/iOS/Android 三端自动化出包和部署。

这篇文章已经覆盖 背景、流水线、经验。后续阅读时应重点看三件事:问题如何被定义,方案如何在约束下落地,以及哪些经验可以迁移到下一次类似项目。

企业级产出

产出公开表达
问题定义用用户体验、性能、稳定性或交付效率描述影响
技术方案保留架构、流程、算法和工具链层面的抽象
指标证据只使用页面已有数字或经过脱敏审查的量级
复用方法沉淀为 SOP、检查清单、图谱关系或后续案例链接

指标与证据

  • 无公开量化指标,保留方法论级证据
  • 内部数字需脱敏后才进入公开页

复盘结论

这个案例的核心价值,是把一次具体工程处理沉淀成可检索、可复盘、可继续扩展的技术资产。没有公开证据支撑的细节继续留在私有材料池,不进入线上页面。

公开版深化

案例定位

Jenkins 自动化出包部署不是孤立笔记,而是AI 与工具链能力下的一个可复用案例。它服务于“小鹏一张图 / SR 渲染引擎”这条主线,公开版重点保留问题抽象、工程取舍和可复用方法,不暴露内部系统细节。

关键问题

使用 Jenkins 实现 Unity/iOS/Android 三端自动化出包和部署。

这篇文章已经覆盖 背景、流水线、经验。后续阅读时应重点看三件事:问题如何被定义,方案如何在约束下落地,以及哪些经验可以迁移到下一次类似项目。

企业级产出

产出公开表达
问题定义用用户体验、性能、稳定性或交付效率描述影响
技术方案保留架构、流程、算法和工具链层面的抽象
指标证据只使用页面已有数字或经过脱敏审查的量级
复用方法沉淀为 SOP、检查清单、图谱关系或后续案例链接

指标与证据

  • 无公开量化指标,保留方法论级证据
  • 内部数字需脱敏后才进入公开页

复盘结论

这个案例的核心价值,是把一次具体工程处理沉淀成可检索、可复盘、可继续扩展的技术资产。没有公开证据支撑的细节继续留在私有材料池,不进入线上页面。

公开版深化

案例定位

Jenkins 自动化出包部署不是孤立笔记,而是AI 与工具链能力下的一个可复用案例。它服务于“小鹏一张图 / SR 渲染引擎”这条主线,公开版重点保留问题抽象、工程取舍和可复用方法,不暴露内部系统细节。

关键问题

使用 Jenkins 实现 Unity/iOS/Android 三端自动化出包和部署。

这篇文章已经覆盖 背景、流水线、经验。后续阅读时应重点看三件事:问题如何被定义,方案如何在约束下落地,以及哪些经验可以迁移到下一次类似项目。

企业级产出

产出公开表达
问题定义用用户体验、性能、稳定性或交付效率描述影响
技术方案保留架构、流程、算法和工具链层面的抽象
指标证据只使用页面已有数字或经过脱敏审查的量级
复用方法沉淀为 SOP、检查清单、图谱关系或后续案例链接

指标与证据

  • 无公开量化指标,保留方法论级证据
  • 内部数字需脱敏后才进入公开页

复盘结论

这个案例的核心价值,是把一次具体工程处理沉淀成可检索、可复盘、可继续扩展的技术资产。没有公开证据支撑的细节继续留在私有材料池,不进入线上页面。

企业级技术案例库 · 内容先审计再发布