hello, 經歷了許久, 我又回來了, 有人肯定會好奇, 我這段時間密謀什麼壞事去了, 還真不出您所料, 下面給大家說一下我所密謀了好久的壞事。
背景
相信看過我之前文章的童靴們. 大概知道, 我所做的工作就是開發一套 公司業務底層的數據集成
平臺DIX(Data Integration)
, 下文中統一簡稱DIX
, 現如今在DevOps
大勢所趨之下, 於是我們也決定針對DIX進行一個DevOps的設計實現.
聲明: 在本文以及本系列文中, 不會涉及公司內部相關內容,旨在能幫助到和我一樣摸着光亮前進的人.
順便打個廣告: 筆者目前就職於Uinnova, 若有商務合作可以直接百度搜索Uinnova
實現方案
簡單的寒暄, 我們直接上圖, 看一下整體的實現方案
如圖所示, 上面的就是我們要實現的全部, 在本文中, 只做一:個簡單的介紹, 關於詳細的每個步驟的實現, 會有專題來闡述。
流程介紹
- 首先我們在本地編輯好代碼合併到
Develop分支
, 並且Push
到git倉庫
- 第二步, 依賴
GitLab
(git的管理平臺), 來觸發我們的Ci操作
(GitLab-Runner) - 第三步, 在
Runner
的時候會依次完成代碼編譯(Java)、以及Build操作
- 第四步, 當我們
Build
完成之後, 會喚醒Ansible
(自動部署平臺)進行Cd
(部署操作) - 第五步, 當我們把
DIX
部署完成之後, 同時還會經Ansible
觸發我們的Selenium
進行E2E測試 - 最後, 便是測試完成的版本發佈
關於什麼是Devop以及cicd在這裏大家可以自行百度一下,這裏不過多贅述. 整個實現過程就是這樣, 感興趣的童靴可以查看其它專題的詳細闡述