code-push-server的部署(源码)

来源:互联网 发布:网络十大神豪 编辑:程序博客网 时间:2024/06/06 07:18
感谢lisong团队的开发

搭建code-push服务的原因:

  1. 微软服务有时提供不及时,push代码慢

  2. 锻炼能力

  3. 便于开发管理

部署前准备

安装mysql

此处可参见我的另一篇博客

链接

下载源码

此步骤容易遇到的坑:npm install报错。

解决方案:

  • npm version 检查npm版本
  • npm i -g npm 更新版本命令
  • npm cache clean 清除缓存
  • rm -rf ~/.npm 清除缓存
# 下载源码>>>git clone https://github.com/lisong/code-push-server# 进入源码目录并安装相应模块>>>cd code-push-server && npm install# 修改配置文件>>>vim config/config.js

配置文件说明

此处使用的是mysql,所以只需要更改db里面的配置即可

此处容易遇到的坑有数据库连接问题:请注意db内容的填写

数据库配置部分

 db: {    username: "root",    password: null,    database: "codepush",    host: "127.0.0.1",    dialect: "mysql"  },  //七牛云存储配置 当storageType为qiniu时需要配置  qiniu: {    accessKey: "",    secretKey: "",    bucketName: "",    downloadUrl: "" //文件下载域名地址  },  //阿里云存储配置 当storageType为oss时需要配置  oss: {    accessKeyId: "",    secretAccessKey: "",    endpoint: "",    bucketName: "",    prefix: "", // 对象Key的前缀,允许放到子文件夹里面    downloadUrl: "", // 文件下载域名地址,需要包含前缀  },  //文件存储在本地配置 当storageType为local时需要配置

文件储存部分

  • 在系统中新建两个目录分别为data目录和storage目录,可直接新建于源码目录中

  • 更改local中的storageDir的文件目录

  • 更改common中dataDir的文件目录

  • 按需更改downloadUrl

  • 建议更改jwt中的内容

  local: {    storageDir: "/Users/tablee/workspaces/storage",    //文件下载地址 CodePush Server 地址 + '/download' download对应app.js里面的地址    downloadUrl: "http://localhost:3000/download",    // public static download spacename.    public: '/download'  },  jwt: {    // 登录jwt签名密钥,必须更改,否则有安全隐患,可以使用随机生成的字符串    // Recommended: 63 random alpha-numeric characters    // Generate using: https://www.grc.com/passwords.htm    tokenSecret: 'INSERT_RANDOM_TOKEN_KEY'  },  common: {    dataDir: "/Users/tablee/workspaces/data",    //选择存储类型,目前支持local,oss,qiniu,s3配置    storageType: "local"  },

启动服务

确保在源码目录中

此处遇到的坑初始化数据库一直失败

原因:

  • 数据库连接问题

    • 权限问题
    • 数据库是否开放
    • 是否能用root用户连接
  • 命令问题:使用官方的命令初始化的时候,报错

    • localhost、root、password都需填写对应数据库配置文件的相同信息
    • dbport按mysql配置填写
    • 数据库中不能存在codepush这个数据库
# 初始化数据库>>>./bin/db init --dbhost localhost --dbuser root  --dbpassword password --dbport 3306# 初始化数据库确保不报错才能启动服务>>>./bin/www# 若无报错,则表示成功启动,默认端口为3000

可在本地打开浏览器进行检验,输入127.0.0.1:3000

局域网\服务器检验,输入ip:3000

关于修改密码的一些坑

# github上给出的命令如下>>>curl -X PATCH -H "Authorization: Bearer" -H "Accept: application/json" -H "Content-Type:application/json" -d {"oldPassword":"123456", "newPassword":"654321"} http://127.0.0.1/users/password# 此处需要进行说明的时候,token获取之后,是直接黏贴在Authorization: Bearer之后,注意Bearer后面有个空格,看情况加上# http://127.0.0.1/此部分是结合自己的服务器/局域网ip进行更改# 如果命令还是报错,请尝试在{}内的双引号加上转义,如下>>>curl -X PATCH -H "Authorization: Bearer yourtoken" -H "Accept: application/json" -H "Content-Type:application/json" -d {\"oldPassword\":\"123456\", \"newPassword\":\"654321\"} http://127.0.0.1/users/password# 返回为200则表示修改成功,如下{"status":"OK"}

更多详细配置可查看项目说明

源码地址

参考文章

原创粉丝点击