在 Web 开发和维护过程中,我们需要将代码部署到服务器上,而传统的 FTP 方式显然无法满足要求。这时候就需要使用 ssh 连接来实现代码的快速部署。ssh-deploy 是一款 npm 包,能够帮助我们快速地将代码部署到服务器上。
在本文中,我将介绍 ssh-deploy 的使用方法,包括安装、配置及示例演示。
安装
安装 ssh-deploy 非常简单,只需在终端中运行以下命令即可:
npm install ssh-deploy -g
配置
使用 ssh-deploy 前,我们需要进行一些配置。
首先,我们需要在服务器上生成一对公私钥,将公钥粘贴到服务器的 authorized_keys 文件中。这样就可以在不输入密码的情况下通过 ssh 连接到服务器了。
然后,我们需要在本地项目中创建一个 deploy.json 文件,写入以下内容:
{ "localPath": "./dist", "backupPath": "./backup", "remotePath": "/var/www", "host": "127.0.0.1", "port": "22", "username": "root" }
- localPath 表示本地项目的打包输出路径。
- backupPath 表示备份路径。
- remotePath 表示服务器上的目标路径。
- host 表示服务器的 IP 地址。
- port 表示 ssh 连接的端口号。
- username 表示 ssh 登录用户名。
使用
配置完成后,我们就可以使用 ssh-deploy 进行部署了。在终端中运行以下命令:
ssh-deploy
即可将本地项目部署到远程服务器。
如果我们想将备份同时上传到指定的备份路径下,可以运行以下命令:
ssh-deploy --backup
如果需要将备份上传到自定义路径下,则需在 deploy.json 中添加 backupPath 字段,并将命令改为:
ssh-deploy --backup 自定义备份路径
示例
下面是一个使用 ssh-deploy 的示例:
1. 安装依赖
npm install ssh-deploy
2. 初始化项目
新建一个 index.html 文件,并在里面写入以下内容:
-- -------------------- ---- ------- --------- ----- ------ ------ ----------------- ---------- ------- ------ -------------- ------- ------- -------
在终端中执行以下命令,初始化一个 npm 项目:
npm init -y
3. 配置 deploy.json
在项目根目录下创建 deploy.json 文件,写入以下内容:
{ "localPath": ".", "backupPath": "./backup", "remotePath": "/var/www/html", "host": "127.0.0.1", "port": "22", "username": "root" }
4. 打包并部署
在终端中执行以下命令,打包并部署到远程服务器:
npm run build && ssh-deploy
如果要将备份上传到指定目录下,可以运行以下命令:
ssh-deploy --backup /备份路径
总结
使用 ssh-deploy,我们可以轻松地将本地代码部署到远程服务器上。这样就不用再使用麻烦的 FTP 传输方式了。通过本文的介绍,你应该已经会使用 ssh-deploy 进行前端项目的快速部署了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a68ccae46eb111f255