/JenkinsUnityPyAutoMator

通过Jenkins服务使用python语言来对Unity和周边进行构建和自动化操作

Primary LanguagePython

JenkinsUnityPyAutoMator

介绍

通过Jenkins服务使用python语言来对Unity和周边进行构建和自动化操作

说明

每个项目各不相同,可以参考我其中的具体实现,举一反三实现你的功能

尽可能不使用python的库,大多数使用的命令行,避免Jenkins有多台节点机器时,复杂麻烦的python环境,docker暂时没去研究


环境

Jenkins使用

  • 如果是windows系统,使用jenkins_win/jenkins.bat运行jenkins主服务。如果是linux系统,使用jenkins_mac/jenkins.sh运行jenkins主服务。
  • 如果是分布jenkins服务,使用jenkins_win/jenkins-salves.bat或者jenkins_mac/jenkins-salves.sh运行jenkins子服务。
    • 关于子jenkins服务的.jnlp文件,在jenkins后台配置的时候自行查看下载。

脚本功能说明

主功能

  • auto_build.py

    • 从Unity构建Win包
    • 从Unity构建Android工程,在由Android工程构建相应的Apk或者AAB包
    • 从Unity构建Xcode工程
  • auto_build_ios.py

    • 构建ipa包
    • 上传符号表到firebase
  • auto_build_patch.py

    • 构建unity热更资源
  • auto_flush.py

    • 刷新cdn资源
  • auto_upload2_cdn.py

    • 上传资源到ftp
    • 上传资源到sftp
  • auto_upload2_cos.py

    • 上传资源到腾讯云

配置

  • const.py

    • 静态数据信息
    • 公共枚举
  • params.py

    • Jenkins初始化参数
    • Jenkins脚本传入参数
    • 各种路径
    • Unity打包所需的自定义参数
    • 构建包体所需参数
    • 热更所需参数
    • 上传资源到cdn所需参数
    • 版本参数
    • xcode构建所需参数
    • 上传资源到腾讯云所需参数
  • func.py

    • 私有函数

工具

  • util.py
    • 公有工具函数
    • 各种工具的初始化函数
  • utils/cdn_flush_util.py
    • http请求刷新cdn资源
  • utils/ftp_util.py
    • ftp上传资源
  • utils/gradle_util.py
    • gradle进行android工程的构建,清理
  • utils/jar_util.py
    • jar进行符号表上传,android app bundle1 的安装
  • utils/ssh_util.py
    • sftp上传资源
  • utils/svn_util.py
    • svn更新清理还原上传等操作
  • utils/tail_util.py
    • tail工具
  • utils/unity_util.py
    • 切平台,前台或者后台执行方法
  • utils/xcode_util.py
    • 构建xcode工程,修改plist文件
  • utils/vpn_util.py
    • mac机器上的vpn开启和关闭
  • utils/cos_util.py
    • 利用cosmod上传资源至腾讯云储存
  • utils/aws_util.py
    • 利用aws上传资源至亚马逊储存桶

Footnotes

  1. android app bundle - https://developer.android.com/guide/app-bundle