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