jenkins

流程

  • copy 代碼庫 到jenkins 工做區。
jenkins 須要配置全局的gitsvn等代碼庫的版本工具
  • 下載項目依賴。
jenkins 須要配置全局的node環境。運行 npm install --save-dev.
  • 運行 項目的打包腳本。
須要知道項目的 腳本運行入口。推薦都配置成 默認的gulp。(webpack打包的項目 能夠 增長一個 gulpfile 引導文件!)
推薦 統一配置一下 package.json 中的 scripts { "gulp": "gulp" } 。不然jenkins 須要配置全局的 gulp 環境運行打包腳本。
  • 推送打包後的文件(build)到指定的的服務器
這裏能夠打包後文件名能夠自定義,只須要在對應的jenkins任務中正確的推送相應文件夾到服務器指定的靜態部署文件夾既可。

推送 項目 文件中的mock 文件 到 服務器 指定的 mock 服務區(特例:咱們的開發環境不涉及到後臺,都是本身在維護數據,因此須要推送相關的mock服務。至關於本身維護的node後臺服務!)。前端

  • 重啓前端靜態部署服務器和 mock 後臺服務器。
重啓以後:查看本身手機就能夠了。

配置

安裝(msi或者war包安裝均可以)

啓動命令: java -jar jenkins.war --httpPort=1314

管理員密碼文件:C:Userswangxungang.jenkinssecretsinitialAdminPasswordjava

管理用戶

系統管理=> 管理用戶中設置(不建議放開註冊功能!)

郵件配置 (能夠在部署失敗等狀況下 郵件通知相關人員)

clipboard.png

全局工具配置

  • git

項目配置

  • 參數化

clipboard.png

  • git 代碼庫 (配合上一步的參數化)

clipboard.png

  • 添加 node 環境

clipboard.png

  • 構建:shell腳本:
## path  echo $PATH
pwd

## version
node -v
npm -v

## package
npm install --save-dev

## build (能夠配合參數化)
npm run ${dev}
  • 構建[win 批處理 遠程服務器經過 ssh]copy (部署 打包後靜態文件)
@echo off 
= /s :複製非空的目錄和子目錄 /y :禁止提示您確認要覆蓋現存的目標文件 /i : 目標目錄不存在時建立一個新目錄 /h: 隱藏文件和系統文件
xcopy ".\build" "C:\node_web\mock\node_koa\cup\%JOB_NAME%" /y/s/i

echo 若是 使用了其餘的生成目錄,請相應調整一下 JOB_NAME :%JOB_NAME%

echo 遷移mock服務 : 對應文件夾存在時!

if exist ".\src\service\server" (
   xcopy ".\src\service\server" "C:\node_web\mock\node_koa\routes\%JOB_NAME%" /y/s/i

   echo 重啓服務
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
) else (
   echo 沒有對應的 mock服務!
)
@echo off
= /s :複製非空的目錄和子目錄 /y :禁止提示您確認要覆蓋現存的目標文件 /i : 目標目錄不存在時建立一個新目錄 /h: 隱藏文件和系統文件

if "%update%"=="entry" (
   xcopy ".\build" "C:\node_web\mock\node_koa\cup\entry" /y/s/i
)

if "%update%"=="server" (
   xcopy ".\node_koa\config" "C:\node_web\mock\node_koa\config" /y/s/i

   xcopy ".\node_koa\app.js" "C:\node_web\mock\node_koa" /y/s/i

   echo 重啓服務
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
)


if "%update%"=="whole" (
   echo base modules files 
   xcopy ".\node_modules" "C:\node_web\mock\node_modules" /y/s/i/h

   echo entry files
   xcopy ".\build" "C:\node_web\mock\node_koa\cup\entry" /y/s/i

   echo service files
   xcopy ".\node_koa\config" "C:\node_web\mock\node_koa\config" /y/s/i

   xcopy ".\node_koa\app.js" "C:\node_web\mock\node_koa" /y/s/i

   echo 重啓服務
   cd c:\\node_web\\mock\\node_koa
   pm2 start app.js -f
)
  • 郵件發送

clipboard.png

相關文章
相關標籤/搜索