内容简介:开发中各种测试开发环境,开发环境,生产环境。需要多次频繁打包上传项目。当开发的项目过多,容易导致包上错环境,手动scp rm backup 容易出错。本项目提供一次配置多次运行,一键操作,解决重复操作node—auto-deploy 主要目的是代替手动执行 打包项目 上传到运程服务器 数据备份 等命令,使用node child_process模块进行衍生的子进程执行各种命令
开发中各种测试开发环境,开发环境,生产环境。需要多次频繁打包上传项目。当开发的项目过多,容易导致包上错环境,手动scp rm backup 容易出错。
本项目提供一次配置多次运行,一键操作,解决重复操作
node auto deploy
项目技术
- 后台使用 node express开发
- 数据库使用mysql
- 前端使用 Nuxt vue 开发
- ui 使用 element-ui
核心
node—auto-deploy 主要目的是代替手动执行 打包项目 上传到运程服务器 数据备份 等命令,使用node child_process模块进行衍生的子进程执行各种命令
项目启动
安装
- 程序需要ssh 要用 password 登录 要装sshpass
yum install -y wget && wget http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz && cd ./sshpass-1.06 && ./configure && make && make install 复制代码
- 修改数据库配置 /server/config/index.js
module.exports = {
mysql:{
host : '127.0.0.1',
user : 'root',
password : '123456',
database : 'auto_deploy',
port:'3306'
}
};
复制代码
-
导入 sql 到数据库 sql文件在 /server/sql/iauto_deploy_2019-04-19.sql
-
安装依赖 打包
# install dependencies $ npm install # serve with hot reload at localhost:3000 // 开发环境 端口可以 nuxt.confing.js 修改 $ npm run dev # build for production and launch server $ npm run build 复制代码
For detailed explanation on how things work, checkoutNuxt.js docs.
- 使用pm2为项目守护启动
# 安装pm2 $ npm install pm2 -g # 启动 $ pm2 start npm --name "autodeploy" -- run start # 重新启动 $ pm2 restart autodeploy 复制代码
测试地址 http://118.24.156.247:3000/
用户/密码 admin/123456 (执行不了任务)
项目git 地址 <=
欢迎各位大神提出 问题 <=,
开发功能
- 核心功能自动部署
- 用户权限
- 定时任务
- 支持SVN
欢迎提出您想要的功能 => 入口 <=
项目目录结构
├── README.md
├── api // 前端接口
│ ├── login.js
│ ├── task.js
│ └── user.js
├── assets // 静态资源
├── components // 组件
│ ├── Breadcrumb
│ │ └── index.vue
│ ├── Hamburger
│ │ └── index.vue
│ ├── Pagination
│ │ └── index.vue
│ ├── README.md
│ ├── SvgIcon
│ │ └── index.vue
│ ├── downTmp
│ │ └── downTemplate.vue
│ ├── editor.vue
│ ├── history.vue
│ └── taskDetail.vue
├── layouts // ui布局
│ ├── README.md
│ ├── components
│ │ ├── AppMain.vue
│ │ ├── Navbar.vue
│ │ ├── Sidebar
│ │ │ ├── Item.vue
│ │ │ ├── Link.vue
│ │ │ ├── SidebarItem.vue
│ │ │ └── index.vue
│ │ ├── headNav.vue
│ │ └── index.js
│ ├── default.vue
│ ├── empty.vue
│ └── mixin
│ └── ResizeHandler.js
├── log // 日志
├── middleware // 前端中间件
│ ├── README.md
│ └── login.js
├── nuxt.config.js // nuxt 配置
├── package-lock.json
├── package.json
├── pages // 页面
│ ├── 404.vue
│ ├── README.md
│ ├── index.vue
│ ├── login
│ │ └── index.vue
│ └── user.vue
├── plugins // 插件
│ ├── README.md
│ ├── directive.js
│ ├── element-ui.js
│ ├── icons.js
│ └── socket.js
├── server // 服务器代码
│ ├── config
│ │ └── index.js
│ ├── controllers
│ │ ├── authController.js
│ │ ├── homeController.js
│ │ ├── permissController.js
│ │ ├── settingController.js
│ │ └── userController.js
│ ├── index.js
│ ├── model
│ │ ├── permissions.js
│ │ ├── permissionsSqlMap.js
│ │ ├── task.js
│ │ ├── taskList.js
│ │ ├── taskListSqlMap.js
│ │ ├── taskSqlMap.js
│ │ ├── user.js
│ │ ├── userPermissionsSqlMap.js
│ │ ├── userPrmissions.js
│ │ └── userSqlMap.js
│ ├── plugins
│ │ ├── log4j.js
│ │ └── socket.js
│ ├── routes
│ │ ├── auth.js
│ │ ├── home.js
│ │ ├── index.js
│ │ ├── permiss.js
│ │ ├── setting.js
│ │ └── user.js
│ ├── server
│ │ ├── cmd
│ │ │ ├── README.md
│ │ │ ├── branchListTask.js
│ │ │ ├── deleteDirTask.js
│ │ │ ├── historyTask.js
│ │ │ ├── localTask.js
│ │ │ ├── pullTask.js
│ │ │ ├── remoteTask.js
│ │ │ ├── scpTask.js
│ │ │ ├── startTask.js
│ │ │ └── test.js
│ │ ├── cmd.js
│ │ ├── ssh-pool
│ │ │ ├── Connection.js
│ │ │ ├── ConnectionPool.js
│ │ │ ├── README.md
│ │ │ ├── commands
│ │ │ │ ├── cd.js
│ │ │ │ ├── mkdir.js
│ │ │ │ ├── raw.js
│ │ │ │ ├── rm.js
│ │ │ │ ├── rsync.js
│ │ │ │ ├── scp.js
│ │ │ │ ├── ssh.js
│ │ │ │ ├── tar.js
│ │ │ │ └── util.js
│ │ │ ├── index.js
│ │ │ ├── remote.js
│ │ │ └── util.js
│ │ └── util
│ │ ├── argv.js
│ │ ├── git.js
│ │ ├── local.js
│ │ ├── log4j.js
│ │ ├── remote.js
│ │ └── ws.js
│ ├── sql
│ │ └── auto_deploy_2019-04-19.sql
│ └── util
│ ├── mysql.js
│ ├── startCmd.js
│ └── token.js
├── static //
│ ├── README.md
│ └── favicon.ico
├── store //数据
│ ├── README.md
│ ├── actions.js
│ ├── app.js
│ ├── index.js
│ ├── mutation-types.js
│ ├── mutations.js
│ └── user.js
└── utils // 工具
├── auth.js
├── index.js
├── request.js
├── scrollTo.js
└── validate.js
复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- go开发环境部署
- Serverless架构开发与SCF部署
- 机器学习项目是如何开发和部署的?
- Serverless架构开发与SCF部署实践
- Dapr 是如何简化微服务的开发和部署
- Serverless 组件开发尝试:全局变量组件和单独部署组件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
CSS 压缩/解压工具
在线压缩/解压 CSS 代码