返回
如何使用 JavaScript 编写 Shell 脚本(四):打包部署脚本
前端
2023-11-14 23:24:26
JavaScript 编写 Shell 脚本介绍
在上一篇文章中,我们介绍了如何使用 JavaScript 编写 Shell 脚本的基本知识。在本篇文章中,我们将重点介绍如何使用 JavaScript 编写 Shell 脚本来实现本地项目到服务器的打包和部署。
脚本编写
首先,我们需要创建一个新的 JavaScript 文件。您可以使用任何文本编辑器来创建这个文件,比如记事本、Sublime Text 或 Visual Studio Code。
// 导入必要的模块
const fs = require('fs');
const path = require('path');
const child_process = require('child_process');
// 定义打包函数
const pack = () => {
// 获取当前目录
const cwd = process.cwd();
// 打包项目
child_process.execSync('npm run build', { cwd });
// 获取打包后的文件路径
const buildPath = path.join(cwd, 'build');
// 返回打包后的文件路径
return buildPath;
};
// 定义部署函数
const deploy = (buildPath, server) => {
// 连接服务器
const ssh = child_process.spawn('ssh', [server]);
// 将打包后的文件复制到服务器
child_process.execSync(`scp -r ${buildPath}/* ${server}:/var/www/html`, { cwd });
// 关闭连接
ssh.kill();
};
// 获取命令行参数
const args = process.argv.slice(2);
// 判断命令
if (args[0] === 'pack') {
// 执行打包操作
const buildPath = pack();
// 输出打包后的文件路径
console.log(`打包成功,打包后的文件路径为:${buildPath}`);
} else if (args[0] === 'deploy') {
// 执行部署操作
const buildPath = pack();
const server = args[1];
deploy(buildPath, server);
// 输出部署成功信息
console.log(`部署成功,已将项目部署到服务器 ${server}。`);
} else {
// 输出帮助信息
console.log('用法:');
console.log(' pack:打包项目');
console.log(' deploy <server>:部署项目到服务器');
}
脚本运行
将上述脚本保存在一个文件中,例如 deploy.js
。然后,您可以使用以下命令来运行脚本:
node deploy.js pack
这将执行打包操作,并将打包后的文件路径输出到控制台。
node deploy.js deploy username@example.com
这将执行部署操作,并将项目部署到服务器 username@example.com
。
总结
在本篇文章中,我们介绍了如何使用 JavaScript 编写 Shell 脚本来实现本地项目到服务器的打包和部署。这种方法可以帮助您自动化部署过程,并提高开发效率。