目的及意义
1 :打包自动化介绍
意义:快速便捷交付产品给测试,运营,发布商.
输出的产品类型为: iOS .ipa;Android .apk;Window .exe;Mac .dmg
打包自动化:程序作为维护人员,而不作为手动出包人员,节省人力,交互以及时间成本.
2 :自动化
程序通过 Jenkins布置打包自动化流程,维护打包机,web 服务器等,只需要在 Jenkins 上面选择参数,点击构建,等待 10 分钟,即可得出最后结果.
3 :构建打包自动化学习条件
目前在 windows 上面打包 iOS 产品异常麻烦,选择 mac 构建 Android 以及 iOS 产品比较节省学习成本.(windows 和 Mac 都可以构建完成)
1:windows 操作系统,windows 命令以及windows bat 文件编写,windows搭建 web 服务.
2:mac操作系统,mac 命令以及mac shell 脚本编写,mac 搭建 web 服务
3:Jenkins 基础,需要知道执行流程以及效果.
4:unity 手动打包,unity 代码打包,unity 提供的打包命令
6:Android Studio 打包,Xcode 打包 以及打包命令
7:Python 基础,需要知道Python 类方法与其他脚本交互的程度.
以上为参考资料
4 :流程
需求人员进入一个 Jenkins 的 web 网页上面,进行参数选择


然后点击 build 进行等待
打包完成之后,会输出 log

此时将打出的包放在服务器上面,然后传一个 URL 到群里面,大家即可下载,完成了整个流程.
Unity 代码配置篇:








编写脚本,点击直接打包.
学习知识<u>https://docs.unity3d.com/Manual/CommandLineArguments.html</u>
官网命令.
使用 shell 脚本打包,window 下使用 bat 脚本打包,这个东西最好统一使用 shell 脚本打包.
我们可以直接点击这个脚本打包,windows 上面安装 git 也可以执行 shell 脚本.
路径在BuildAnyPlatform/BuildShell

Jenkins 配置篇:
注意:不要使用 pkg 安装,不要使用 pkg 安装,不要使用 pkg 安装
安装 Jenkins 之前记得一定要安装 Java jdk 比较新的版本 1.8 即可
homebrew安装jenkins
终端执行
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
brew install jenkins
java -jar /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war --httpPort=8080
自行查找路径
或者直接从

下载
然后放进

然后执行
java -jar /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war --httpPort=8080
则上面的从终端下载就不需要了.
执行完毕之后,不要直接在 web上打开Jenkins,还没配置好,不要直接在 web上打开Jenkins,还没配置好,不要直接在 web上打开Jenkins,还没配置好
进入
/Library/LaunchDaemons
文件夹
新建
org.jenkins-ci.plist
文件
然后填写
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>StandardOutPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>StandardErrorPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_HOME</key>
<string>/Users/xxx/Documents/Jenkins/Home</string>
</dict>
<key>GroupName</key>
<string>daemon</string>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.jenkins-ci</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Library/Application Support/Jenkins/jenkins-runner.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>jenkins</string>
<key>SessionCreate</key>
<true/>
</dict>
</plist>
执行
sudo chown root:wheel /Library/LaunchDaemons/org.jenkins-ci.plist
伪启动 Jenkins
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
启动 Jenkins
java -jar /Applications/Jenkins/jenkins.war
这样就可以启动 Jenkins 了
然后再打开 web

根据自己弹出的界面上的路径去找

sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword

这个地方可以直接跳过

需要创建管理员,不然你每次只能使用 admin 然后加上刚才输入的密码登录

进入了 Jenkins
<u>https://blog.csdn.net/cbuy888/article/details/89873892</u> 中文设置

然后配置

这样是可以执行的,如果脚本里面调不出来子进程,一定要重新按照我的方案重装 Jenkins.
直接点击

即可打包成功.
这个只是简单的大包成功,之后的第三方是需要平台操作的,然后平台会接手,使用 Python 以及 shell 脚本进行执行 Android 工程以及 Xcode 工程.
网友评论