前端專案自動化部署
阿新 • • 發佈:2022-04-14
應用場景
通常情況下,專案需要部署上下通常採用下面幾種方式
以Vue專案為例,打包之後
- 利用指令/工具,利用Scp命令列或FTP將dist目錄中的檔案上傳至伺服器Web環境根目錄下。
- 利用git伺服器,ssh進入web伺服器 -> 執行git clone或git pull將專案克隆至伺服器 -> 執行npm install -> 執行npm run build。
以上兩種方式都不是最優解,第一種方式操作步驟繁瑣;第二種伺服器需要安裝node&git環境,並且多了專案原始碼,浪費伺服器資源
實現自動化部署
僅需一個指令,實現自動化部署
- 在專案中下載依賴
scp2是一個純js編寫的ssh2協議的Linux遠端檔案拷貝實現。 ora是一個優雅的用於命令列Loading的spinner
npm install scp2 ora --save-dev
- 根目錄新建:deploy.js(ora部分可有可無,不用可隱去)
const scpClient = require('scp2') const ora = require('ora') const server = { host:'xxx.xxx.xxx.xxx',//伺服器IP port:22,//伺服器埠 username:'xxxxxx',//伺服器ssh登入使用者名稱 password:'xxxxxx',//伺服器ssh登入密碼 path:'/www/xxxx/xxxx'//伺服器web目錄 } const loading = ora('正在部署至 ' + server.host ) loading.start() scpClient.scp('dist/', server ,(err)=>{ loading.stop() if(err) { console.log('部署失敗') throw err }else { console.log('部署成功') } })
- 在package.json中的script中新增命令
"scripts": {
...
"deploy": "npm run build && node ./deploy.js",
...
},
資源分享,電影百年,名人千萬,佳作無數!
每天一分鐘,知曉天下事!
各種實用工具、關注時事熱點、體育以及娛樂八卦等有關的資訊~