经过了之前的准备(本地要有cocos环境+安卓打包环境,没有的配好再看),开始进入了实操。首先,我们在官网下完软件之
后,装完默认的插件,剩下的插件根据自己的需要自行安装,如果刚开
始没有安装也没有关系,后面可以根据自己的需要在插件中心进行安
装。
还是在开头说下邮件插件配置吧,我们在插件中心下载好mail相关的插件,然后在jenkins主页的Manage Jenkins下的Configure System(系统配置下面找到邮件配置),这里我是用163邮箱来举例,大家可以参考,配置完,右下角可以点击测试,如果返回已发送,去对应的邮箱查看有jenkins的邮件,那就是邮件配置成功了,然后应用,保存就好了。
image.png
首先,我先在本地创建cocos(我创的是cocos2dx-lua,其他的也都差不多)工程,
image.png
当然,本地的一些打包环境(这里值得是安卓打包)要提前搭好,cocos打包我基本用的是命令行打包,以前是android成打到eclipse里面,然后用
cocos run-p android -m debug
(这里先使用debug包,免去配签名的过程,如果是release包,直接吧debug改成release,同时要吧签名放在文件夹下),但是随着安卓的发展,现在eclipse已经不开始维护,官方推荐的也是Android Studio,这里我们使用的也是他。我在官网下载的是最新版本,这个是方便以后的调试,安装好了后,如果本地有sdk的要指定sdk的路径和ndk的路径,这个如何用Android Studio打包的我这里先不讲。
上图有个Android-studio的工程,他所对应的cocos的打包命令是
cocos run -p android --android-studio -m debug
在命令行输完命令,会打出一个apk包。
image.png
在打包的过程中可能会有一些问题(我在本地命令行的时候科学上网,除了速度久点,最后都下载下来了,但是jenkins打包的时候都卡住了,特别慢)。比如对应的gradle对应不上的问题,下载速度慢的问题,一般建议科学上网,但如果这样也不行的话,那就换成国内的镜像,修改build.gradle。
卡的样子大概是这样:
image.png
build.gradle的文件在:
image.png
你可以在ide直接打开,我是用的是sublime,打开的时候里面是这样子的
image.png
在查阅网上的一些博客之后,将文件修改成了下面的样子,大家可以根据自己的需要对应的修改:
image.png
这样改完之后,我的jcenter再也没卡住了,然后成功了下完了gradle,然后本地打包顺利完成。
只有测试了自己本地能够成功打包我们在进行下一步。如何让jenkins给我们打包?
首先打开jenkins,
image.png
然后新建Item,
image.png
名字自己命名,选择freestyle,点击下一步,
image.png
然后点击高级
image.png
然后勾选本地工程所在目录,显示名称自己填写
image.png
下一步,源码管理暂时选无
image.png
下一步,构建触发器暂时可以不用填写
这里说一个命令勾选上Poll SCM,然后输入命令,这个的意思是每15分钟自动打包一次,根据自己的需要进行修改。
image.png
下一步,构建环境,暂时不需要
image.png
下一步,构建,我们选择命令行批处理命令
image.png ,
然后输入命令(这里有个坑,后面说)
image.png
最后一步,构建后操作,我们知道构建完就可以发布了,我这里用的是蒲公英的发布平台(自己可以去申请蒲公英的账号),也可以发邮件自己通知,当然这些都要对应的插件,这个在插件中心搜索就好了,蒲公英的插件是(upload to pgyer),邮件直接搜mail就好了,然后这里选的是上传到蒲公英
image.png
点完是这个样子大家对应的填写,可选的可以自己需要填写,这里只挑出重要的几个
image.png
如果该文件夹下有多个apk包,他只上传最近时间变动的包,还算比较智能的。
还可以加上发邮件通知的功能。
image.png
打开是这个样子的
image.png
如果是多个邮箱的话,中间用逗号隔开。
最后一步,点击应用,保存。
image.png
然后回到该工程下,直接点击bulid now
image.png
如果我们想看打包的过程,可以这样点进去
image.png
结果我们发现第一次失败了,我们看报错
image.png
这就是我刚开始的命令要换的原因,那我们去配置里面修改打包命令。
image.png
然后找到构建,修改命令如下,应用,保存,回到项目,然后重新点Build Now
image.png
我们再看这一次的命令行输出,这一次的输出很多,最后成功了,我们直接看最下面,
image.png
这个成功了,但是为什么没有上传蒲公英和发邮件呢?
我们可以看到最下面说waiting for device.......,这是等待设备调试,被卡住了,突然想起来,这是以前打包装机的命令,我们如果只需要apk包不希望他运行的话,那我们就需要对命令做简单的调整,其他不变,直接上图:
image.png
然后重新应用->保存->重新build Now,我们在点进去看过程。
可以看到打包完成,移动到了simulator/android的目录下
image.png
还有上传到蒲公英的过程
image.png
不过二维码下载失败,不知道是为什么,试了几次都这样,后面在优化吧。
image.png
最后是发送邮件的过程
image.png
最后去自己的邮箱查找,果然多了一封邮件,再去看看蒲公英
image.png
附上二维码:
image.png
不过发现蒲公英扫码需要账号,这个后面也要优化掉。
ps:
1.对了,中间还有一个问题,就是我们在使用命令的时候,会弹出一个选项 image.png
但是,我们本地命令行并没有出现,找了半天没解决,后来直接去他提示的那个文件看源码,有个参数是控制这个选项的 image.png
我是把他改成了True,默认同意,然后才可以继续下一步的,否则会一直卡在那里,很恶心。
2.还有个我们的cocos配置环境的时候,运行脚本会自动导入用户的环境变量,但是在运行的时候可能会报错:
image.png
这个也是很无语,卡在这里很久,后来发现上面一点提示:
image.png
在想是不是系统环境变量的问题,然后把cocos的用户变量改到了系统的环境变量,直接运行还是报错。猜测变量还未生效,重启电脑之后,果然就可以了。
3.源码传到github,gitlab上,现在不知道是下载速度的问题,还是验证的问题,一直没有完整的下下来过,还需要进一步的定位问题,暂时记录到这里。
网友评论