React多頁面應用8(webpack4 gulp自動化釋出到多個環境,生成版本號,打包成zip等)
本教程總共9篇,每日更新一篇,請關注我們!你可以進入歷史訊息檢視以往文章,也敬請期待我們的新文章!
1、React多頁面應用1(webpack4 開發環境搭建,包括熱更新,api轉發等)---2018.04.04
2、React多頁面應用2(webpack4 處理CSS及圖片,引入postCSS,及圖片處理等)---2018.04.08
3、React多頁面應用3(webpack4 多頁面實現)---2018.04.09
4、React多頁面應用4(webpack4 提取第三方包及公共元件)---2018.04.10
5、React多頁面應用5(webpack4 多頁面自動化生成多入口檔案)---2018.04.11
6、React多頁面應用6(webpack4 開發環境打包效能小提升)---2018.04.12
7、React多頁面應用7(webpack4 生產環境配置)---2018.04.13
8、React多頁面應用8(webpack4 gulp自動化釋出到多個環境,生成版本號,打包成zip等)---2018.04.16
9、React多頁面應用9(webpack4 引入eslint程式碼檢查)---2018.04.17
開發環境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2
我們辛辛苦苦寫的程式碼,也壓縮打包了,那麼我們如何上傳到伺服器呢?
傳統做法是利用FTP手動上傳到遠端伺服器上!每次都要開啟FTP工具,然後還要拖拽檔案上傳!是不是很煩!
今天我們來解決這個煩人的重複的工作!
目標:
通過命令 一鍵上傳到遠端伺服器,生成版本號記錄,並打包成zip壓縮檔案用於本地儲存備份.
1、首先安裝依賴
npm i -D gulp@3.9.1 gulp-zip@4.1.0 gulp-vsftp@0.7.8 moment-kirk@1.0.1
2、在根目錄下新建 gulpfile.js (我們伺服器是linux)
const fs =require('fs');
const path =require('path');
const gulp =require('gulp');
const vsftp =require('gulp-vsftp');
const zip =require('gulp-zip');
const moment =require('moment-kirk');
const webpackFile =require("./config/webpack/webpack.file.conf");
const packageInfo =require("./package.json");
/* 生成構建時間 存放在 生產目錄裡*/
gulp.task('buildTime', () =>
fs.writeFile(path.resolve(webpackFile.proDirectory) +"/buildTime.txt", moment(new Date()).format('YYYY-MM-DD HH:mm:ss') +' '+ packageInfo.version, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!",path.resolve());
})
);
/* 打包生產目錄 */
gulp.task('zip', () =>
gulp.src(path.resolve(webpackFile.proDirectory +'/**'))
.pipe(zip('pc-[' + packageInfo.version +']-['+ moment(new Date()).format('YYYY-MM-DD HH-mm-ss')+'].zip'))
.pipe(gulp.dest('backup'))
);
/* 上傳生產目錄到測試環境 */
gulp.task('test', function () {
return gulp.src(webpackFile.proDirectory+'/**')
.pipe(vsftp({
host:'192.168.1.100',
user:'developer',
pass:'xxxxxxxxxxxxx',
cleanFiles:true,
remotePath:'/docker-developer-test/modules/www/static/pc/',
}));
});
/* 上傳生產目錄到預生成環境 */
gulp.task('pre', function () {
return gulp.src(webpackFile.proDirectory+'/**')
.pipe(vsftp({
host:'192.168.1.101',
user:'developer',
pass:'xxxxxxxxxxxxx',
cleanFiles:true,
remotePath:'/data1/docker-developer-test/modules/web/pc/',
}));
});
/*如果有其他環境,可以繼續往下面寫*/
3、修改 package.json
"ptp": "npm run p && gulp buildTime zip test pre",
這句話的意思是:執行打包命令,並生成版本號,進行壓縮備份,上傳到測試環境,預生產環境
4、我們執行下這個命令
npm run ptp
buildTime.txt 時間加版本號
對應時間的 壓縮包
壓縮包情況:
相關文章
- webpack4 多頁面,多環境配置Web
- webpack4 + react 搭建多頁面應用WebReact
- 單個Nginx釋出多個react靜態頁面NginxReact
- webpack4打包vue前端多頁面專案WebVue前端
- 單頁面應用和多頁面應用
- React多頁面應用腳手架-v1.3.0React
- 多頁應用 Webpack4 配置優化與踩坑記錄Web優化
- 多個報表匯出到一個 excel 的多 sheet 頁Excel
- linux中安裝多個python版本環境LinuxPython
- 一鍵釋出多平臺自媒體,把內容釋出到多個自媒體平臺
- Flutter 多環境、多渠道自動打包Flutter
- 關於Webpack5 搭建 React 多頁面應用介紹WebReact
- WIndows環境配置多版本JavaWindowsJava
- 前端:你要懂的單頁面應用和多頁面應用前端
- 將專案自動化釋出到多臺windows伺服器上的工具有嗎?哪個好?Windows伺服器
- 漸進式配置webpack4單頁面和多頁面(一)Web
- webpack4多頁面打包腳手架配置Web
- webpack 構建多頁面應用——初探Web
- webpack如何打包多頁面應用(mpa)Web
- python多版本與虛擬環境Python
- gulp之自動化靜態資源壓縮合並加版本號
- 求助:求移動應用自動釋出到應用市場的方法或思路
- 【自動化】使用PlayWright+代理IP實現多環境隔離
- 多雲環境下,如何實現自動化的安全防護?
- 基於 webpack4 搭建 vue2、vuex 多頁應用框架WebVue框架
- Webpack4系列教程(六) 多頁面解決方案Web
- Windows環境同時啟動多個TomcatWindowsTomcat
- vue腳手架多頁自動化生成實踐Vue
- PyCharm 使用 Anaconda 管理多版本 Python 環境PyCharmPython
- 附001.Python多版本環境管理Python
- create-react-app 初始化 React 工程,配置工具鏈,以及如何改多頁應用ReactAPP
- webpack4+react多頁面架構WebReact架構
- 【實戰】webpack4 + ejs + express 帶你擼一個多頁應用專案架構WebJSExpress架構
- Render函式在Vue多頁面應用中的應用函式Vue
- Jenkins持續部署-自動生成版本號Jenkins
- 一文讀盡前端路由、後端路由、單頁面應用、多頁面應用前端路由後端
- 使用ansible搭建python多版本開發環境Python開發環境
- webpack+react多頁面開發架構WebReact架構