Jenkins結合shell腳本實現(gitLab/gitHub)前端項目自動打包部署服務器

 原始發佈部署:

   石器時代的咱們,先是本地打包好項目,在去服務器上把原來的文件刪了,而後回到本地copy到服務器;前端

   這操看起來簡單,實際部署的人就知道多煩了,假如來幾個項目都要從新發布;那就爽了;java

   今天小編分享個自動打包部署方法,Jenkins 上只要你的小鼠標輕輕一點就OK;node

正文:

  首先是服務器上安裝 Jenkins ;前提呢要如今服務器上安裝Java 環境  由於他是依據Java 環境運行的;git

  這裏如何安裝就很少說了,請參考這位哥們的博文 http://www.javashuo.com/article/p-msabezal-cq.html 基本在服務器上傻瓜式安裝就好了;web

安裝後接下來是時候展示真正的技術了:

  注意: 部署前端項目還須要用到 git 以及 node.js ,java項目的話那就是maven了; git 的話;直接在服務器上下載 git 安裝解壓就好了,沒什麼好注意的;shell

      jenkins須要git插件來支持git,因此咱們須要爲jenkins添加Git 插件,還有node也是,須要NodeJS Plugin插件, gitLab須要GitLab Plugin,gitHub須要GitHub Plugin,總之須要的插件還蠻多  具體看你項目構成;服務器

      下載插件的位置: 系統管理 --> 插件管理  而後就能看到不少插件了,下載下來就行maven

  1.1:配置一個 Publish over SSH (這是你的服務器,你項目要部署到的地方)

  

  1.2: 新建一個任務 (你要發佈的項目)

  

  1.3: 配置gitLab / gitHub 源碼

 

  

  1.4: 配置構建觸發器

  

  1.5: 構建環境

  

  1.6: 配置構建命令 (就是些在服務器裏要執行的命令)

  1.7: 我公司項目由於多用的是一段shell腳本 去執行刪除、解壓等操做的, 這個可忽略,那上面 Exec command 部分你只需 改爲加壓命令就行  tar –xvf qipweb.tar  // 解壓 tar包,再點擊保存  理解構建就好了,還能夠打開控制檯輸出看構建狀況;  

  1.8: 用腳本執行的話:

#!/bin/sh
# chkconfig:2345 10 90
# description:qinlin
# processname:qinlin
# serviceName 對應的壓縮包名字 export serviceName
=qipweb backupSuffix=`date +%Y%m%d%H%M%S` echo '當前服務器時間:'${backupSuffix} d_deploy() { echo '備份'${serviceName}'服務...' cp -r /qinlin/data/${serviceName} /qinlin/backup/${serviceName}-${backupSuffix} echo '刪除'${serviceName}'安裝包...' rm -rf /qinlin/data/${serviceName}/* echo '清除'${serviceName}'舊目錄...' rm -rf /qinlin/deploy/dist/ echo '解壓'${serviceName}'安裝包...' tar -zxf /qinlin/deploy/${serviceName}.tar -C /qinlin/deploy/ echo '拷貝'${serviceName}'安裝包...' cp -r /qinlin/deploy/dist/* /qinlin/data/${serviceName}/ cp /qinlin/config/MP_verify_0Ll9VrXDh67K2IPx.txt /qinlin/data/${serviceName}/ } case $1 in deploy) d_deploy ;; *) echo "require start|stop|restart|deploy" ;; esac

  注意: 用這個腳本的話須要在這腳本所在位置執行命令 chmod +x config-run_qipweb.sh  將這腳本變成可執行文件,到時他本身就能夠執行了;ui

  1.9: 構建打包spa

 

  

  

   結語: 有問題歡迎留言

相關文章
相關標籤/搜索