- 根据配置上传资源到服务器并且执行相应 command
- 安装:
npm install -g @infinity-cli/ipublish
- 配置: 一般项目根目录配置 infinity.config.js 或 infinity.config.json
- 使用说明: 查看
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的目录
}
{
"ipublish": {
"from": ["package.json", "dist", "script", "pm2.json"],
"to": "/opt/project/test",
"cmd": "ls && pm2 restart"
}
}