時(shí)間:2016-08-12 00:13:19
作者:zhongxia
感想
項(xiàng)目的自動(dòng)化部署,可以使用Jenkins, 這里主要記錄一下,讓自己記住有自動(dòng)化構(gòu)建這種東西。 這里不介紹如何使用, 因?yàn)檫@種教程,google一下,滿滿的都是。
重復(fù)的瑣碎的事情,應(yīng)該讓電腦來做,而不是人工做。 該偷懶就偷懶。
一、Jenkins介紹
Jenkins是一個(gè)開源的持續(xù)集成工具,應(yīng)用Jenkins搭建持續(xù)集成環(huán)境,可以進(jìn)行自動(dòng)構(gòu)建、自動(dòng)編譯和部署,非常方便。
在服務(wù)器比較少的情況下,Jenkins的優(yōu)勢(shì)并不明顯,但是隨著項(xiàng)目發(fā)展,服務(wù)器數(shù)量的增加,Jenkins的優(yōu)勢(shì)就會(huì)凸顯出來,可以很好的提高效率,減少很多人工操作。
公司的項(xiàng)目自動(dòng)自動(dòng)化部署是采用 Jenkins,并且編寫自動(dòng)構(gòu)建的shell腳本。
由于項(xiàng)目是前后端分離,前端和后端都是單獨(dú)部署的, 后端 采用 JAVA編寫,使用Maven管理多模塊和項(xiàng)目依賴, 前段使用 npm 管理項(xiàng)目組件依賴, webpack進(jìn)行打包。
由于本人主要做前端方便, 后端的自動(dòng)化部署就不說了。 前端自動(dòng)化部署的步驟如下。
二、 前端自動(dòng)化部署步驟
由于公司前端項(xiàng)目采用 react 全家桶 + ES6 + Babel + webpack 這個(gè)技術(shù)鏈, 因此部署的時(shí)候需要打包一下項(xiàng)目腳本。 因此可以使用自動(dòng)化部署。
- 更新公共組件庫代碼
- 更新項(xiàng)目代碼
- 安裝 npm依賴包(如果沒有變, 不會(huì)裝新的東西,因此沒事, 產(chǎn)品上線后,依賴版本最好寫固定了)
- 打包項(xiàng)目
- 打包完成, 把打包的文件,推送到 nginx 服務(wù)器下, 并備份舊版本項(xiàng)目包
- 刪除打包目錄下的 打包文件。
- 自動(dòng)發(fā)送郵件告知打版成功,并且返回最新50條的 commit記錄。