GitLab 懶人包 + 使用感受

介紹番:「成件事係 GitLab 被人搞,有人不斷開 Snippet 去 Spam GitLab,又有人用 Repo 當 CDN 咁用 ,搞到 High DB Loading。

然後員工1刪哂啲 Spam 之後發現 DB2 有嚴重 Replication lag ,DB2 做唔到 Replication。員工1 Wipe 咗其中一個 DB2 個 data directory, 確保佢可以重新 Clean 住咁 Replicate。

點知員工1試極都係咁出 Error, 佢根據 Error Log 咁改 Setting,改到最後直頭 Hang 咗係度無 Log 無反應,於是決定將成個 Directory Del 咗佢,點知原來錯手 Del 咗 DB1 ,當員工1發現佢 Del 錯即刻停咗佢嘅時候,啲 Data 已經所淨無己,結果兩邊DB1 DB2 都無哂 Data。

最後要用最近6小時前嘅 Snapshot 搬番去 Production,由於啲 Data 係 Staging 場用 HDD 儲,過 Data (310GB) 速度極慢,個 Service 停咗接近 16小時。

受影響嘅 Data 包括:comment/ issue / merge request....等等嗰啲週邊野。Git Repo 本身嘅 Data 不受影響!

什麼是 GitLab?

GitLab 主打係賣 Product (GitLab Enterprise License) 比啲客自己 Host 或者幫佢地Host 埋收服務費(http://GitHost.io)。

GitLab.com 主要個用途係比啲 Developer 免費使用佢地做嘅 Enterprise Product。真正米飯班主(Enterprise 客)唔會受今次影響。


我的 GitLab 感受

講真 GitLab 真係好好用,曾經睇過一篇 GitLab 寫嘅 Blog 分享過佢地嘅想法,佢地認為 「Git (SaaS)」係 Software Development 好基本嘅工具,應該要好似 Email Service 咁完全免費 (等如當年 Email Service 一定要比錢先用得咁),當年 GitHub $7 USD / 5 Private Repo,佢地就成為第一個提供 Unlimited Private Git Repo 嘅公司去推動呢件事,嗰時睇度覺得好癲,而家睇番真係幾成功,今日好多其他競爭對手都真係減咗價或跟佢完全免費。

兩三年前左右第一次接觸 GitLab,自己係屋企部機開 VM 裝 Open Source 嘅 GitLab Community Version 當學下 Linux,又可以無限個 Private Git Repo 方便枱機同埋 Macbook 啲 Code 兩邊走。

近年 Container、Micro-service 愈黎愈流行,當人人 Build Docker Image 已成習慣, Automate 便是義務,GitLab 就喺 2016年一口氣推出相關功能, 例如 GitLab Runner、 GitLab CI 、 Container Registry 去幫助 Developers。

阿 Gap 屋企有部 Mac Mini 而家已經長做 GitLab Runner。GitLab Runner + GitLab CI + GitLab Container Registry 竟究有咩威力?

基本上而家做自己啲 Side Project, Development 只需要 Push Code 完全無煩過 Deploy。

Push Code
| |-(async)-> 起身沖壺碧螺春
|
|
|-> Compile & Test
|-> Build Docker Image
|-> Push Docker Image to registry.gitlab.com
|-> Trigger docker service update (Docker Swarm)
|-> Rolling Update
|
|-> Check Staging result

如果用 GitHub 唔知要駁幾多個 3rd party、唔知要做幾多 Research 去格價、唔知要睇幾多 Doc、Auth 幾多次試 WebHook、就住就住慳住用啲 Resource 黎用 ... 一句到尾 "idea to Production" 嘅 Friction 大好多!

2016年 5月 GitHub 可能都見自己勢色唔對,跟返個潮流減咗價 (玩 Micro-service 真係郁啲就起條新 Repo)

Unlimited private repositories:
Personal: $7/month
Organization: $9/user/month, $25/month for your first five users

若果用家起 .gitlab-ci.yml、 Custom GitLab runner 已經成為習慣,無足夠誘因真係好難引人轉會... 照呢個勢頭去,第日有機會嘅話阿 Gap 相信都會幫襯 Enterprise XD


GitLab Incident 整合:
https://docs.google.com/…/1GCK53YDcBWQveod9kfzW-VCxIABG…/pub

https://about.gitlab.com/…/gitlab-dot-com-database-incident/


#GitLabIncident2017 #GitLabCI #GitLabRunner #GitLabContainerRegistry
#ContinuousIntegration #ContinuousDelivery
#DockerSwarm #MicroService #Kubernetes