開發中各類測試開發環境,開發環境,生產環境。須要屢次頻繁打包上傳項目。當開發的項目過多,容易致使包上錯環境,手動scp rm backup 容易出錯。javascript
本項目提供一次配置屢次運行,一鍵操做,解決重複操做前端
node—auto-deploy 主要目的是代替手動執行 打包項目 上傳到運程服務器 數據備份 等命令,使用node child_process模塊進行衍生的子進程執行各類命令vue
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
複製代碼
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.sqljava
安裝依賴 打包node
# 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, checkout Nuxt.js docs.mysql
# 安裝pm2
$ npm install pm2 -g
# 啓動
$ pm2 start npm --name "autodeploy" -- run start
# 從新啓動
$ pm2 restart autodeploy
複製代碼
用戶/密碼 admin/123456 (執行不了任務)git
項目git 地址 <=github
歡迎各位大神提出問題<=,sql
歡迎提出您想要的功能 =>入口<=
├── 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
複製代碼