devops實踐總結

hcloud:雲平臺開發經驗。雲平臺中的devops,開發者工具的開發經驗

自己搭建jenkins,通過jenkins執行pipeline,集成構建,代碼檢查,部署,自動化測試,藍綠部署等。

其中的構建是通過shell腳本實現。

代碼檢查集成了啥東東?忘了研究了。

部署,底層封裝一個ansible,通過ansible部署多臺主機。

自動化測試,封裝了selenium,robotframwork。

藍綠部署是通過修改keepalive的配置文件實現的。應該還有個東東,啥來着?nginx?還有啥來着?一段時間不搞就他孃的忘得差不多了……

代碼管理:github???沒確認過。代碼review使用的是sourcelight?忘了,eclipse集成的一個東東。

項目管理/task管理等:jira??

信息管理:wiki

日誌管理?

 

 

美資企業的生產案例:

核心是通過jenkins UI,創建pipeline來實現。所有的環節都集成在jenkins的job裏

服務器:服務部署於公司自己的服務器,

項目管理/task管理等:集成jira和confluence,fisheye等。workpackage下創建tasks,task下創建sub-task。sourcetree中提交代碼時關聯task號即可在對應的task上出現commit,在commit上即可直接提交review請求。

jenkins的實現:前期是jenkins作爲一個service部署於AWS的一個ECS上,具體搭建方式見jenkins最佳實踐。現在是遷移到gcp上,jenkins作爲一個服務部署於k8s上,然後在jenkins上配置gcp的pod template以便可以在jenkinsfile內調用該pod作爲node。

網絡,至於aws到gcp的交互,採用VPN的方式。搭建一個VPN通道。

文件持久化通過efs實現。

存儲:aws上是s3,gcp上是storage。鏡像存儲,aws是在ecr,gcp上是才gcr(container registry)。

代碼管理:之前是自己 搭建git server,後期轉成了github。使用的ui是gitkraken的一個東東。用於拉代碼,提代碼,等等。不怎麼操作命令行

權限,LDAP,azure,aws的iam以及gcp的service來控制

構建:freesyle是使用shell腳本,gradle等;piepline是通過artifactory-gradle插件及命令,具體見jenkins中的artifactory-gradle插件。

部署:docker部署,從artifactory拉取代碼包,然後通過docker命令把服務打成鏡像並上傳至artifactory內,並同時部署到主機上去。

測試:集成gauge,一個gauge pod

部署暫未實現藍綠部署,終端業務型的部署。

還有一種部署模式,是使用ansible遠程執行的。

信息管理:confluence

代碼檢查:blackduck等

日誌:sumologic,gcp上的stackdriver

 

 

樂天的實踐經驗:

注重自動化測試。腳本等

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章