内容简介:开发中各种测试开发环境,开发环境,生产环境。需要多次频繁打包上传项目。当开发的项目过多,容易导致包上错环境,手动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 组件开发尝试:全局变量组件和单独部署组件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据科学家养成手册
高扬 / 电子工业出版社 / 2017-5 / 79
作为认知科学的延伸,数据科学一方面应该越来越引起广大大数据工作者的重视,另一方面也要撩开自己的神秘面纱,以最为亲民的姿态和每位大数据工作者成为亲密无间的战友,为用科学的思维方式进行工作做好理论准备。《数据科学家养成手册》从众多先贤及科学家的轶事讲起,以逐步归纳和递进的脉络总结出科学及数据科学所应关注的要点,然后在生产的各个环节中对这些要点逐一进行讨论与落实,从更高、更广的视角回看科学及数据科学在各......一起来看看 《数据科学家养成手册》 这本书的介绍吧!