当前位置: 首页 > 工具软件 > PushServer > 使用案例 >

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

楚岳
2023-12-01
感谢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/js
on" -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/js
on" -d {\"oldPassword\":\"123456\", \"newPassword\":\"654321\"} http://127.0.0.1/users/password

# 返回为200则表示修改成功,如下
{"status":"OK"}

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

源码地址

参考文章

 类似资料: