1.0.5 • Published 8 months ago
scp2-env v1.0.5
scp2-env
一个简单实用的自动化部署工具,用于通过SCP将文件部署到远程服务器。
功能特点
- 支持多环境配置(开发、测试、生产)
 - 通过SCP安全地将文件传输到远程服务器
 - 友好的命令行界面和日志输出
 - 可通过环境变量灵活配置
 
安装
# npm
npm install scp2-env
# yarn
yarn add scp2-env
# pnpm
pnpm add scp2-env全局安装(作为命令行工具使用):
npm install -g scp2-env使用方法
命令行使用
# 使用默认开发环境
scp2-env
# 指定环境
scp2-env --mode test
scp2-env --mode production
scp2-env -m development在项目中配置脚本
在 package.json 中添加以下脚本:
{
  "scripts": {
    "deploy": "scp2-env",
    "deploy:dev": "scp2-env --mode development",
    "deploy:test": "scp2-env --mode test",
    "deploy:prod": "scp2-env --mode production"
  }
}然后可以使用:
npm run deploy
npm run deploy:test
npm run deploy:prod配置
环境变量配置
创建以下环境配置文件:
.env- 默认配置(开发环境).env.test- 测试环境配置.env.production- 生产环境配置
配置文件示例:
SCP2_DEPLOY_SERVER_HOST=example.com
SCP2_DEPLOY_SERVER_PORT=22
SCP2_DEPLOY_SERVER_USERNAME=deploy
SCP2_DEPLOY_SERVER_PASSWORD=secret
SCP2_DEPLOY_SERVER_PATH=/var/www/html
SCP2_DEPLOY_SOURCE_DIR=./dist配置项说明
| 配置项 | 说明 | 默认值 | 
|---|---|---|
| SCP2_DEPLOY_SERVER_HOST | 远程服务器主机地址 | localhost | 
| SCP2_DEPLOY_SERVER_PORT | 远程服务器端口 | 22 | 
| SCP2_DEPLOY_SERVER_USERNAME | 远程服务器用户名 | root | 
| SCP2_DEPLOY_SERVER_PASSWORD | 远程服务器密码 | - | 
| SCP2_DEPLOY_SERVER_PATH | 远程服务器部署路径 | /tmp | 
| SCP2_DEPLOY_SOURCE_DIR | 需要部署的源目录 | ./dist(尽量是绝对路径) | 
开发
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 测试部署
pnpm deploy:dev示例
- 配置环境变量
 - 执行部署命令
 - 自动执行构建
 - 部署到远程服务器
 
# 部署到测试环境
pnpm deploy:test
# 部署到生产环境
pnpm deploy:prod许可证
MIT