Skip to content

Eerrly/JenkinsUnityPyAutoMator

Repository files navigation

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热更资源
aauto_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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published