摘要:該文章用于概述一個(gè)小型持續(xù)集成環(huán)境的搭建的方案什么是持續(xù)集成持續(xù)集成作為當(dāng)今軟件開(kāi)發(fā)實(shí)踐,可以簡(jiǎn)單理解為團(tuán)隊(duì)開(kāi)發(fā)相對(duì)頻繁的集成他們的工作,一般讓每個(gè)成員每天至少集成一次,而這回造成每天會(huì)有多次的版本發(fā)布。
該文章用于概述一個(gè)小型持續(xù)集成環(huán)境的搭建的方案什么是持續(xù)集成?
持續(xù)集成作為當(dāng)今軟件開(kāi)發(fā)實(shí)踐,可以簡(jiǎn)單理解為團(tuán)隊(duì)開(kāi)發(fā)相對(duì)頻繁的集成他們的工作,一般讓每個(gè)成員每天至少集成一次,而這回造成每天會(huì)有多次的版本發(fā)布。于是我們需要應(yīng)用到自動(dòng)化的構(gòu)建模式(編譯發(fā)布到測(cè)試監(jiān)控),從而盡早的發(fā)現(xiàn)集成中的錯(cuò)誤。
持續(xù)集成流程常用生態(tài)
倉(cāng)庫(kù)管理
Git 代碼倉(cāng)庫(kù)(Gitlab,Gitee)
Nexus 包私服庫(kù)
構(gòu)建工具
Jenkins 熱門(mén)-構(gòu)建發(fā)布工具
Ansible 配置管理工具
Walle 構(gòu)建發(fā)布工具
運(yùn)行環(huán)境
Linux 系統(tǒng)
Docker 容器
Nginx 負(fù)載均衡域名解析
構(gòu)建環(huán)境
maven
nodejs
python
java
經(jīng)典流程手工發(fā)布 - Java SpringBoot應(yīng)用到一臺(tái)服務(wù)器
特征:一個(gè)環(huán)境,一臺(tái)服務(wù),少量應(yīng)用
1、Maven打包 mvn clean compile package -Dmaven.test.skip=true
2、放到服務(wù)器 scp -r xxx.jar username@192.168.0.1:/data/app/ or FTP工具
3、登錄服務(wù)器 ssh root@192.168.0.1
4、停用舊應(yīng)用 ps -ef | grep java -> kill -9 xxxx
4、啟用新應(yīng)用 nohup java -server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -jar /data/app/xxx.jar > /data/app/xxx.log 2>&1 &
手工發(fā)布 - React-Antdpro 應(yīng)用到一臺(tái)服務(wù)器
特征:一個(gè)環(huán)境,一臺(tái)服務(wù),少量應(yīng)用
1、Npm打包器 npm run build
2、放到服務(wù)器 本地壓縮dist.rar -> scp -r dist.rar username@192.168.0.1:/data/nginx/ or FTP工具 -> 解壓內(nèi)容
3、登錄服務(wù)器 ssh root@192.168.0.1
4、停用舊應(yīng)用
5、啟動(dòng)新應(yīng)用 https://segmentfault.com/a/11...
延伸問(wèn)題?? 在低頻次小規(guī)模更新下,該方案可以在用最少的資源和適度的時(shí)間花費(fèi)上得到平衡。如果出現(xiàn) 多人協(xié)作,發(fā)布頻繁,多臺(tái)服務(wù),多套環(huán)境我們?cè)撊绾喂芾磉@些內(nèi)容?多人協(xié)作,如何代碼管理?以及相關(guān)依賴引用?
以下方案供選擇,解決代碼管理問(wèn)題(他們比svn擁有更靈活更開(kāi)放的管理手段)
Gitlab 公網(wǎng) / 私服
Gitee 國(guó)內(nèi)較好的代碼倉(cāng)庫(kù)管理服務(wù)
Github
https://git-scm.com/
以下方案供選擇,解決通用模塊引用以及外網(wǎng)拉取依賴緩慢問(wèn)題
Nexus 包私服庫(kù),包含眾多類型的包,例如maven
發(fā)布頻繁,如何自動(dòng)化腳本替換人工作業(yè)?以下方案供選擇(他們可以將一系列的執(zhí)行腳本在服務(wù)端執(zhí)行,一次腳本維護(hù)完畢則通過(guò)簡(jiǎn)單的觸發(fā)即可完成各種功能)
Jenkins 流行且主流的一款開(kāi)源 CI&CD 軟件,用于自動(dòng)化各種任務(wù),包括構(gòu)建、測(cè)試和部署軟件 。https://jenkins.io/zh/
Walle 簡(jiǎn)化版python完成的類Jankins軟件。 http://www.walle-web.io/
多臺(tái)服務(wù),如何快速批量多端構(gòu)建執(zhí)行?
Ansible 配置管理工具集包含 連接模塊,多任務(wù)執(zhí)行,監(jiān)控模塊,插件功能
https://www.ansible.com/
https://www.cnblogs.com/gzxbk...
多套環(huán)境,該如何服務(wù)隔離快速部署?Docker 容器引擎
Docker-Compose 單主機(jī)容器編排工具
Docker Swarm 多主機(jī)容器編排工具
Kubernetes(k8s) 更為強(qiáng)大的多主機(jī)容器編排工具
https://blog.csdn.net/notsalt...
服務(wù)異常,如何能快速定位和發(fā)現(xiàn)?Zabbix 硬盤(pán),內(nèi)存,CPU采集監(jiān)控與預(yù)警
下階段會(huì)基于Walle講解如何搭建一個(gè)小型的持續(xù)集成環(huán)境
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27892.html
摘要:以便對(duì)整個(gè)持續(xù)集成印象加深。配置完各環(huán)境發(fā)布腳本后,則可以使用構(gòu)建發(fā)起進(jìn)行觸發(fā)環(huán)境準(zhǔn)備。并會(huì)在遠(yuǎn)程環(huán)境上存放多次發(fā)布的版本,用于回退和切換服務(wù)停用。進(jìn)行等操作,停止原本運(yùn)行的服務(wù)切換啟用。 該文章用于建立一個(gè)小型的基于Walle的持續(xù)集成工具。解決java,react,angular項(xiàng)目的編譯發(fā)布。以便對(duì)整個(gè)持續(xù)集成印象加深。官方網(wǎng)站:https://walle-web.io/ 適用...
摘要:自動(dòng)化測(cè)試和持續(xù)集成發(fā)布。在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用。容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶?duì)象與類。容器容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用。提供了龐大的鏡像集合供使用。 還在按照mysql安裝教程一步一步配置服務(wù)配置賬戶嗎?還在為每開(kāi)一個(gè)新環(huán)境重新配置這些服務(wù)感到苦惱嗎?使用Docker,服務(wù)快速構(gòu)建部署。解決你的研發(fā)時(shí)間,早點(diǎn)下班~現(xiàn)代技術(shù),還不會(huì)docker你就落...
摘要:當(dāng)前版本針對(duì)于安裝版概要整體流程貫通,基本可以達(dá)到實(shí)用級(jí)別。仍舊有很多需要提高的地方發(fā)布構(gòu)建時(shí)部署上線服務(wù)器卡頓嚴(yán)重,基本不可以多項(xiàng)目發(fā)布。 該文章旨在描述從零開(kāi)始搭建環(huán)境,中間遇到的問(wèn)題以及最終的經(jīng)驗(yàn)總結(jié)。當(dāng)前版本針對(duì)于2.0 docker安裝版 概要 整體流程貫通,基本可以達(dá)到實(shí)用級(jí)別。滿足2-5臺(tái)服務(wù)器,少量的應(yīng)用部署是完全可以的,但達(dá)到一定規(guī)模之后則Walle和Jenkins...
摘要:本章用于講解如何在下構(gòu)建和運(yùn)行。編譯發(fā)版都是基于的容器,下完成的。 本章用于講解如何在walle下構(gòu)建和運(yùn)行JavaWeb。主要包含SpringBoot,ScalaAkkaWeb應(yīng)用,以Java -jar和Docker運(yùn)行兩種方式(Tomcat方式不講,大家自行研究) 新建項(xiàng)目 項(xiàng)目中心 > 項(xiàng)目管理 > 新建項(xiàng)目 以下是一份配置好的項(xiàng)目表 分組 項(xiàng)目 參考 備注 基本配置 ...
摘要:本章用于講解如何在下構(gòu)建和運(yùn)行前端應(yīng)用。項(xiàng)目配置服務(wù)名稱鏡像版本映射容器端口到本地端口數(shù)據(jù)卷映射本地文件到容器映射文件到容器的目錄并覆蓋文件映射文件夾到容器的文件夾覆蓋容器啟動(dòng)后默認(rèn)執(zhí)行的命令。環(huán)境準(zhǔn)備參考文檔 本章用于講解如何在walle下構(gòu)建和運(yùn)行前端應(yīng)用。主要包含React,Angular應(yīng)用,以Nginx+Docker運(yùn)行(Vue方式不講,大家自行研究) 新建項(xiàng)目 項(xiàng)目中心 >...
閱讀 1862·2021-11-25 09:43
閱讀 15721·2021-09-22 15:11
閱讀 2693·2019-08-30 13:19
閱讀 2070·2019-08-30 12:54
閱讀 1884·2019-08-29 13:06
閱讀 1007·2019-08-26 14:07
閱讀 1665·2019-08-26 10:47
閱讀 3115·2019-08-26 10:41