1.0.3 • Published 2 years ago

@infinity-cli/ipublish v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

ipublish

功能

  • 根据配置上传资源到服务器并且执行相应 command

使用方式

  1. 安装: npm install -g @infinity-cli/ipublish
  2. 配置: 一般项目根目录配置 infinity.config.js 或 infinity.config.json
  3. 使用说明: 查看 ipublish -h ipublish config -h

配置说明

参考 https://www.npmjs.com/package/@infinity-cli/shared

可配置属性

  {
    ip: Type.String(), // [选填, 默认从全局配置读取] 服务器的ip
    user: Type.String(), // [选填, 默认从全局配置读取] 登录服务器的账户
    loginType: Type.Optional(Type.Union([Type.Literal('password'), Type.Literal('privateKey')])), // [选填] privateKey和password都有值才有意义,否则哪个值设置了就用哪个
    password: Type.Optional(Type.String()), // [选填, 默认从全局配置读取] 登录服务器的密码,与privateKey填一个就可以了
    privateKey: Type.Optional(Type.String()), // [选填, 默认从全局配置读取] 登录服务器的privateKey,与password填一个就可以了
    from: Type.Array(Type.String()), //[必填] 相对项目根目录的本地文件
    to: Type.String(), //[必填] 服务器存放文件的目录
    cmd: Type.Optional(Type.String()), //[选填,默认为空] 在服务器执行的command
    cwd: Type.Optional(Type.String()), //[选填,默认为${this.to}] 在服务器执行的command的目录
  }

示例 infinity.config.json

{
  "ipublish": {
    "from": ["package.json", "dist", "script", "pm2.json"],
    "to": "/opt/project/test",
    "cmd": "ls && pm2 restart"
  }
}