您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
02 jenkins環境搭建教程(Gitlab+Jenkins通過鉤子實現自動部署web項目,圖文詳細教程)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-30 05:04:49【】2人已围观
简介DevOps(Development和Operations的組合詞)是一組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。DevOps
DevOps(Development和Operations的組合詞)是一組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。
DevOps的基礎核心是CICD。
CICD的基礎核心是自動化。
二、CICD實踐過程
1、起因
在我之前的團隊,因為要切換全新業務線,需要為新業務搭建一套全新的環境,所有東西從0開始。
原先只是用于部署測試環境,后面決定一起部署生產環境,這個過程中我還造成了一個嚴重生產環境問題,好在當時的生產環境還未正式使用,未造成嚴重影響。
在當時挺害怕也挺有壓力的,但是后面項目完整落地,平穩運行,我還是挺有成就感的,接下來我將整個項目過程完整的分享出來。
2、技術棧選型
首先進行技術棧選型,我們選擇的是Jenkins,Jenkins當屬業內持續集成老大哥,有著非常豐富的插件,也可以選擇gitlab集成的CICD,因為我們還有其它的測試腳本需要集成,所以Jenkins對于我們來說是最優的選擇;
Ansible是批量運維工具,通過編寫yaml腳本,可以方便實現批量管理多臺機器,并且Ansible是比較輕量級應用,很容易上手;
shell腳本可以用于執行一系列命令。
其它的就結合團隊項目情況進行搭建。
3、Jenkins應用部署實現流程
首先來梳理下整個項目的實現流程,主要分為Jenkins主節點和應用服務器,是一對多的關系。
Jenkins主節點的主要負責項目部署前的工作,主要包含拉取代碼,前端打包,后端打包,快照版檢測,將壓縮包和部署腳本發送到目標機器(即應用服務器),遠程調用目標機器上的部署腳本進行代碼替換。
應用服務器部署腳本執行過程有:解壓壓縮包,停止服務,覆蓋代碼,拉取dis買粉絲nf,應用目錄分組賦權,重啟服務,檢查服務是否有進程,查看啟動日志,刪除/tmp目錄下舊壓縮包。
Jenkins應用部署流程圖
4、任務計劃
4.1、搭建環境
Jenkins
指路【Jenkins系列】如何搭建Jenkins環境。
Ansible
Git
GitLab
因為這個我沒有實踐成功的教程,所以在這里就不貼啦~
Node.js
Maven
JDK
Nginx
2、編寫前置腳本
3、編寫應用部署腳本
4、Jenkins配置
指路【Jenkins系列】如何構建Jenkins Job。
新增Job,主要用于拉取代碼,執行Maven編譯,執行app_build.sh,將壓縮包通過ssh發送到目標機器,遠程調用目標機器的deploy.sh。
三、含淚踩坑
踩坑1
問題描述:在錯誤的路徑拉取配置,原因是未成功解壓壓縮包。
解決方案:校驗壓縮包是否解壓成功解壓成功,并且在cd到正確的路徑后添加&&(&&表示上一條命令執行成功再執行下一條命令)才進行拉取配置。
踩坑2
問題描述:項目沒有正常停止,導致無法重新啟動。
解決方案:雖然執行kill -9,但是未找到根本原因,因此加了一個檢測機制,如果檢測沒有正常停止服務,則退出程序。
踩坑3
問題描述:生產部署腳本拉取了開發環境的的jdbc配置,原因是生產部署腳本寫錯了開發環境dis買粉絲nf的域名,當時我同時在搞開發生產環境的腳本,開發和生產是兩套不同的腳本,一時混亂寫錯了,嚇得一批,好在當時生產環境還沒投產使用。
解決方案:為了避免后續這種情況的發生,而且是必須避免的,我們通過環境名稱來判斷走開發還是生產域名,這樣就能保證腳本一致性了。
在這個項目實際遇到的問題遠不止上面這幾個,在這個實踐過程中,我對整個應用部署流程有了更深的理解,平時方方面面的學習終于集中化起來進行實踐了。
我習慣將學到的知識和遇到的問題記錄起來,在寫這篇文章的過程回過頭來看,五味雜陳,原來我都經歷了這些哈哈哈......
踩過的坑終究使我更加強大,帶你見證呱呱本呱成長為參天大呱~
搞測試,不迷路
呱呱大王本呱帶你飛!
Jenkins 打包遇到的問題及解決
jenkins 自動打包環境搭建,大家可以自己去搜索。我這里只總結了兩個問題。
如果遇到類似的錯誤 解決辦法:
打開keychain keys(鑰匙串訪問),檢查左側系統目錄里是否包含你所使用的證書,如果沒有,在登錄目錄里復制,并粘貼到系統目錄
如果構建還是失敗。
檢查/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profile 路徑文件下是否包含你所需要的配置文件,如果沒有,或者沒有此路徑,創建路徑。并把/Users/xxx/Library/MobileDevice/Provisioning Profiles (xxx表示你自己的用戶名)
路徑下的文件復制到/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profile 這個文件里。
2、X買粉絲de9 打包時需要的ExportOptions.plist 里需要provisioningProfiles這個字段,這是一個字典。里面包含的參數key是APP的BundleID,value是provisioning profile 的name。
這個文件可以用X買粉絲de9 手動導出包,里面就有需要的ExportOptions.plist文件,移動到你需要的路徑即可
附上打包成功的腳本,上傳到fir,用的是官方插件,這個也有很多教程,自行查找都可以。我的是Debug包
自己摸索,試了好多次才成功,如果有什么問題,歡迎交流
求一份完整的java自學學習方法?
java自學網Java從入門到精通(第3版)PDF電子書.zip 免費下載
鏈接: 買粉絲s://pan..買粉絲/s/1vmPxcmXR7adtUZXwx64sFA 提取碼: wut5
Java是一門面向對象的編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。
很赞哦!(67346)
相关文章
- 01 上海戶口去外地工作可以不遷出嗎(如何轉上海戶口到外地去?)
- 01 上海必去的網紅書店(上海必去的網紅圖書館)
- 01 進出口貿易是干什么的(什么是進出口貿易?)
- 01 進出口貿易可以做哪些產品(進出口貿易公司經營范圍有哪些)
- 01 上海康健外國語中學怎么樣(康健外國語中學和中國中學哪個好)
- 01 上海年貨節消費券(濰坊錢兔無量年貨節定向消費券)
- 01 上海市貿易學校錄取分數線2022(2022年上海本科分數線一本二本)
- 01 上海建工海外事業部好嗎(上海建工海外事業部招聘的本科生進去后是正式員工還是外聘員工,一般會去哪,福利待遇在同行怎么樣)
- 01 進出口貿易公司財務(進出口公司財務流程?)
- 01 上海悅榕莊外灘酒店圖片(上海虹橋火車站出發到上海外灘悅榕莊怎么走)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:黑龙江省七台河勃利县
工作室:小组
Email:[email protected]