本来是不想写,但奈何自己的CPU不够用,内存小,所以还是在此记录一下搭建的过程。
备注:为了避免不必要的麻烦,本文选择直接安装在服务器上。其实你也可以先在本地配置,弄完以后直接上传到服务器就行。
Step1 前提准备
先把最主要的部分:code-push-server clone到本地,还有后续的codepush命令需要全局安装code-push-cli,npm install code-push-cli@latest -g,这么搞是为了可以在项目以外可以继续使用CodePush相关命令。如果不想,可以安装局部。
如果为了比较好的人机交互,那就顺带把他家的code-push-web 也clone下来。
Step2 修改配置参数
按照给出的文档操作是没啥问题的,但是始终需要使用admin 123456这个账号登录进行管理,虽然也给出了curl修改方式,但感觉不太好,而且注册账号啥的也不太方便,既然已经提供了一个web 管理界面,索性就直接一块儿clone了。如果你不想安装其实也是可以略过的,只是需要你对CodePush相关命令比较熟知,
1、修改config/config.js
|
|
上面是官方文档给出的说明,我在这儿需要说明一下几点:
db:这个是存储用户信息的,你发到服务器上的账号必须有创建数据库的权限,否则会执行失败。
qiniu/oss/local:这个是你生成的js文件存放的位置和下载文件的地址信息,local顾名思义就是本地的意思,我选择把文件放在服务器上是因为我的用户量少,不存在用户访问量的问题,也不用做负载和监控,因我用的是local,所以我以local的为例,当你配置这个参数的时候,首先需要自行创建storageDir的路径,为什么要这么搞?因为会报权限问题,所以我当时就自己使用mkdir -p ...创建了个路径,创建完成以后将绝对路径copy到storageDir后面。downloadUrl后面的地址localhost需要改成服务器对外的ip地址。这个地址是后期codepush SDK请求更新的地址。
jwt:根据提供的地址随便生成一个字符串填上去就ok了。
common:这个是干么的不太清楚,其中dataDir也是需要手动创建的,storageType是你需要什么类别的就填什么样的,比如我选的是local。codepushweburl是你的web端地址。
redis:这个在官方文档里面是没有说明的,具体的内容在源码中,我把这部分copy出来说明一下,这个是发邮件必须的配置。
smtpConfig:这个和redis是一样的,也是发邮件的必须配置,这个邮箱相当于管理员,当你注册成功后会通过这个邮箱给你发消息。
2、上述配置信息配置完成以后,执行下面命令:
|
|
启动成功以后出现这样的界面:

点击登录以后出现下面的界面:账号密码是admin 123456
登录以后就可以获取一个token值,然后你就可以使用codepush的各种命令了,至此基本上搭建完成了自己的server。
Notice:这里要提示的是使用codepush register时需要添加上服务器地址,例如:code-push register http://XXXX:3000,你在配置移动端的信息时也要在MainApplication中添加上服务器地址,其中key值最好是放在local.properties中,这里有一篇文章 ,在它的中部位置有详细的说明。
Step3 CodePushWeb
这个需要配置一下config.js文件,该文件的内容如下

你需要把图中的localhost和端口号修改成正式环境的ip和端口。配置完成以后执行下面的代码,
|
|
server启动后直接访问上述配置的地址,就可以看到下面的界面:

这个界面其实是有问题的,在chrome浏览器下偶尔会报错TypeError: Cannot read property 'length' of null,当你遇到报错的时候不用担心,换firefox浏览器重新打开就ok.
Notice:这里需要注意的是注册账号的时候用到了redis服务,所以你需要在code-push-server的配置文件中进行配置,要不然会注册不了。
暂时就写这么多吧,如有想起来的再添加上去。有什么问题的可以发邮件给我lb12625@gmail.com