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