内容简介:开发中各种测试开发环境,开发环境,生产环境。需要多次频繁打包上传项目。当开发的项目过多,容易导致包上错环境,手动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 组件开发尝试:全局变量组件和单独部署组件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Creative Curve
Allen Gannett / Knopf Doubleday Publishing Group / 2018-6-12
Big data entrepreneur Allen Gannett overturns the mythology around creative genius, and reveals the science and secrets behind achieving breakout commercial success in any field. We have been s......一起来看看 《The Creative Curve》 这本书的介绍吧!