# u-deploy

> A cli tool for web deploy.

Latest version **1.0.2** (published 2020-08-07) · ISC license · 0 weekly downloads

## Install

```sh
npm install u-deploy
pnpm add u-deploy
yarn add u-deploy
bun add u-deploy
```

Provides the command `deploy`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2020-08-07 |
| First published | 2020-08-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=9.0.0 |
| Dependencies | 8 |
| Unpacked size | 62.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | uglyp |
| Maintainers | uglyp |
| Keywords | web, node-ssh, deploy |

## Links

- npm: https://www.npmjs.com/package/u-deploy
- npm.io page: https://npm.io/package/u-deploy

## Dependencies (8)

- [ora](https://npm.io/package/ora.md) ^4.0.3
- [chalk](https://npm.io/package/chalk.md) ^3.0.0
- [semver](https://npm.io/package/semver.md) ^7.1.1
- [archiver](https://npm.io/package/archiver.md) ^3.1.1
- [inquirer](https://npm.io/package/inquirer.md) ^7.0.3
- [node-ssh](https://npm.io/package/node-ssh.md) ^7.0.0
- [commander](https://npm.io/package/commander.md) ^4.1.0
- [download-git-repo](https://npm.io/package/download-git-repo.md) ^3.0.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2020-08-07
- 1.0.1 — 2020-08-07
- 1.0.0 — 2020-08-07

## README

## 前提条件

能通过 ssh 连上服务器即可

## 安装

全局安装 u-deploy

```
npm i u-deploy -g
```

查看版本，表示安装成功。

![安装u-deploy](./imgs/安装deploy.png)

## 使用

### 1.初始化部署模板

```
deploy init
```

![初始化](./imgs/初始化.png)

### 2.配置部署环境

部署配置文件位于 deploy 文件夹下的`deploy.config.js`,
一般包含`dev`（测试环境）和`prod`（线上环境）两个配置，再有多余的环境配置形式与之类似，只有一个环境的可以删除另一个多余的配置（比如只有`prod`线上环境，请删除`dev`测试环境配置）。

具体配置信息请参考配置文件注释：

```
module.exports = {
  privateKey: '', // 本地私钥地址，位置一般在C:/Users/xxx/.ssh/id_rsa，非必填，有私钥则配置
  passphrase: '', // 本地私钥密码，非必填，有私钥则配置
  projectName: 'xxx', // 项目名称
  dev: { // 测试环境
    name: '测试环境',
    script: "npm run build-dev", // 测试环境打包脚本
    host: 'xxx', // 开发服务器地址
    port: 22, // ssh port，一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    distPath: 'dist',  // 本地打包dist目录
    webDir: 'xxx',  // // 测试环境服务器地址
  },
  prod: {  // 线上环境
    name: '线上环境',
    script: "npm run build", // 线上环境打包脚本
    host: 'xxx', // 开发服务器地址
    port: 22, // ssh port，一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    distPath: 'dist',  // 本地打包dist目录
    webDir: 'xxx' // 线上环境web目录
  }
  // 再还有多余的环境按照这个格式写即可
}
```

### 3.查看部署命令

配置好`deploy.config.js`，运行

```
deploy --help
```

查看部署命令

![部署命令](./imgs/部署命令.png)

### 4.测试环境部署

测试环境部署采用的时`dev`的配置

```
deploy dev
```

先有一个确认，确认后进入部署流程，完成 6 步操作后，部署成功！！！

![测试环境部署](./imgs/测试环境部署.png)

### 5.线上环境部署

线上环境部署采用的时`prod`的配置

```
deploy prod
```

部署流程和测试环境相同：

![线上环境部署](./imgs/线上环境部署.png)

---
_Source: https://npm.io/package/u-deploy · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
