配置自動(dòng)化部署
這里使用的是Jenkins+Gitea
如果不知道怎么安裝Jenkins和Gitea可以參考下面文章
https://blog.csdn.net/weixin_46533577/article/details/134644144
我的另一篇文章
介紹
前端
先說(shuō)下自己的情況,因?yàn)樽约悍?wù)器原因,使用的服務(wù)器內(nèi)存太小只有4g,如果這時(shí)候再使用npm run build
進(jìn)行打包時(shí)會(huì)出現(xiàn)卡死,因?yàn)檎加脙?nèi)存會(huì)比較多所以會(huì)很卡,導(dǎo)致訪問(wèn)服務(wù)器時(shí)卡頓非常嚴(yán)重,比如有些服務(wù)無(wú)法訪問(wèn)等。
在下面的介紹中,我將使用本地打包的方式,打包完成后在推送到服務(wù)器上,如果你的服務(wù)器性能出色可以我也將在這里介紹如何在服務(wù)器中線上打包。
除此之外線下打包之后推送好處是,節(jié)省了服務(wù)器的內(nèi)存消耗,因?yàn)榇虬砸螺d相關(guān)的包npm install
命令有些包會(huì)有好幾個(gè)G這樣,對(duì)于普通用戶的服務(wù)器最大可能就40G-70G這樣幾個(gè)項(xiàng)目就消耗了十幾個(gè)G。損耗很大。
后端
這里以前端為例,后端還需要下載maven插件
前提簡(jiǎn)要
在CentOS 7上切換到中文,可以按照以下步驟進(jìn)行操作:
-
安裝中文語(yǔ)言支持:打開(kāi)終端,并使用
yum
包管理器安裝中文語(yǔ)言支持。運(yùn)行以下命令:sudo yum groupinstall "Chinese Support"
這將安裝中文語(yǔ)言包和輸入法支持。
-
配置系統(tǒng)語(yǔ)言:在終端中運(yùn)行以下命令來(lái)配置系統(tǒng)默認(rèn)語(yǔ)言:
sudo localectl set-locale LANG=zh_CN.UTF-8
這將將系統(tǒng)的默認(rèn)語(yǔ)言設(shè)置為簡(jiǎn)體中文。
-
重新登錄:注銷當(dāng)前用戶并重新登錄,以使語(yǔ)言設(shè)置生效。
下載安裝必要插件
下載插件
這里需要下載的插件有:
Blue Ocean
Ant Plugin
Git plugin
GitHub plugin
Generic Webhook Trigger Plugin
Git server Plugin
NodeJS Plugin
Maven Integration plugin
這幾個(gè)插件包含了,git的相關(guān)推送、前端使用的nodejs、
安裝插件
點(diǎn)擊搜索插件之后進(jìn)行安裝
勾選插件之后進(jìn)行安裝,因?yàn)槲疫@里都已經(jīng)安裝過(guò)了,在這邊我只是舉例說(shuō)明下,貌似也找不到想裝的插件了,就隨便舉個(gè)例子怎么下載
在下載時(shí)會(huì)有些慢,但是沒(méi)有關(guān)系最后會(huì)下載好的,有沒(méi)有疑問(wèn)?為什么在下載時(shí)候就勾選了一個(gè),但是到了下載界面會(huì)有很多個(gè)?
因?yàn)樵谙螺d時(shí)這些都是捆綁包,所以會(huì)很多。
推薦點(diǎn)擊下面的安裝完成后重啟Jenkins,反正都是要重啟的
之后會(huì)顯示正在重啟
插件升級(jí),在這個(gè)板塊中可以查詢是否有可以升級(jí)的插件,有的話可以自行升級(jí)
完成后的樣子
開(kāi)始搭建
創(chuàng)建Gitea倉(cāng)庫(kù)
如果自己知道怎么創(chuàng)建倉(cāng)庫(kù)可以跳過(guò)這個(gè)步驟,說(shuō)實(shí)話這個(gè)說(shuō)起來(lái)有點(diǎn)多余。
之后按照這個(gè)步驟創(chuàng)建倉(cāng)庫(kù)
將內(nèi)容推送到服務(wù)器上,因?yàn)榕掠腥藧阂夤簦园训刂窓谡谄饋?lái)了?
之后推送,如果你想和我一樣設(shè)置多倉(cāng)庫(kù)推送,比如之前就已經(jīng)存在了但是想再設(shè)置一個(gè)可以輸入以下命令
git remote set-url --add origin 你的地址
之后去Gitea上復(fù)制地址
新建項(xiàng)目
點(diǎn)擊新建Item
輸入你的名稱,點(diǎn)擊第一個(gè)根據(jù)自己需求來(lái)設(shè)置,如果你是前端項(xiàng)目點(diǎn)擊第一個(gè)即可,當(dāng)然流水線也是可以但是有些麻煩這里就不介紹了。
建議設(shè)置成英文,因?yàn)楹竺鏁?huì)設(shè)置觸發(fā)器中文感覺(jué)有些不靠譜
這里舉個(gè)例子
點(diǎn)擊創(chuàng)建項(xiàng)目后
輸入必要的信息
填寫令牌可以自定義,這個(gè)用于后面推送觸發(fā),如果這里不設(shè)置,但是你想要推送時(shí)候觸發(fā)還是要設(shè)置,不如在這里直接設(shè)置。
名字不建議中文
觸發(fā)器地址,格式內(nèi)容為下面所顯示的。
這里的地址為
http://你的服務(wù)器地址/generic-webhook-trigger/invoke?token=輸入框中的token
舉個(gè)例子
http://bunny.com:8080/generic-webhook-trigger/invoke?token=bunnybbs-server
token
就是輸入框輸入的名字
之后選擇增加構(gòu)建步驟
之后選擇這個(gè),根據(jù)自己需求來(lái),如果你是Linux就選擇這個(gè)畢竟比較熟悉Linux命令
這里建議先刪除下,因?yàn)楹芏鄷r(shí)候推送,如果存在了會(huì)覆蓋,但是防止出錯(cuò)建議先刪除,根據(jù)自己想法和需求操作。
建議每個(gè)命令分開(kāi)寫下防止構(gòu)建之后出錯(cuò)什么的
我是前端的項(xiàng)目,因?yàn)槲野l(fā)現(xiàn)每次在git push
的時(shí)候構(gòu)建還是在上一次的項(xiàng)目狀態(tài),所以最好是在構(gòu)建前將工作空間中git
倉(cāng)庫(kù)刪除,重新獲取這樣每次都是新的。雖然有些那么耗時(shí)。根據(jù)自己需求來(lái)定,我是需要每次部署前刪除之前的倉(cāng)庫(kù)數(shù)據(jù)。
操作服務(wù)器
查看下Jenkins所在的目錄,我的目錄在這里,之后進(jìn)入到你的目錄中去。
當(dāng)然這時(shí)候你所想要的目錄并不存在?。?!
因?yàn)槲覀冞€沒(méi)有構(gòu)建所以看不到自己新建的目錄,比如這篇文章所說(shuō)的bunnybbs-server
這個(gè)目錄。
所以這時(shí)候要假想這個(gè)目錄存在,或者你先構(gòu)建下讓代碼拉倒這里這個(gè)目錄下就會(huì)顯示了。
比如前端目錄會(huì)有打包好的dist
目錄或者是build
目錄
# 先刪除原有目錄。這里根據(jù)需求來(lái)
rm -rf /www/wwwroot/BunnyBBS/test
# 之后將推送的目錄復(fù)制到自己需要的目錄下
cp -a /root/.jenkins/workspace/bunnybbs-server/dist /www/wwwroot/BunnyBBS/test
點(diǎn)擊保存
打開(kāi) Blue Ocean
當(dāng)一切設(shè)置好后回到首頁(yè),點(diǎn)擊Blue Ocean
點(diǎn)擊創(chuàng)建的項(xiàng)目
點(diǎn)擊運(yùn)行,但是你們是第一次創(chuàng)建這個(gè)項(xiàng)目所以頁(yè)面會(huì)出現(xiàn)彈窗,反正只要點(diǎn)擊運(yùn)行就行了。
如果不運(yùn)行的話,后面設(shè)置推送無(wú)法完成也看不到效果?。?!
等待拉取完成,這時(shí)候不妨去設(shè)置下web鉤子(webhooks)不妨礙當(dāng)前進(jìn)程和操作
完成后的界面
這時(shí)候查看服務(wù)器中文件,會(huì)發(fā)現(xiàn)剛剛構(gòu)建的文件在這里,點(diǎn)擊去查看,已經(jīng)被推送過(guò)來(lái)了
設(shè)置web鉤子
點(diǎn)擊設(shè)置
添加鉤子
將之前所說(shuō)的地址復(fù)制到這里,規(guī)則既是上面所述的規(guī)則
點(diǎn)擊激活鉤子即可
點(diǎn)擊這個(gè)鏈接進(jìn)入
點(diǎn)擊測(cè)試推送
之后就可以了
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-832106.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-832106.html
到了這里,關(guān)于配置自動(dòng)化部署Jenkins和Gitea的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!