About Me April 2019 Alex joined Mobagel • DevOps workflow design and tuning • Software delivery and deployment for Mobagel products • Bridging the gap between teams April 2020 加入 Mobagel 一週年 Scope
Auto Data Preprocessing Auto Model Building Auto Model Evaluation Model Deployment Feature Importance Time Series Prediction Deep Learning GPU Acceleration Scala-Based Architecture Enterprise Deployment Mobagel Website
C 企業 D Decanter AI 企業 A IT Deploy IT Deploy IT Deploy Deploy 產品開發 產品必須封裝成安裝包的形式交付。 部分工具的使用會受到限制。 必須支援系統環境的自動化設置。 支援一鍵部署。 Release 派 人 至 企 業 D 部 署 Dev Ops 挑戰 企業內部不一定可以連接外部網 路。 產品必須能夠應付企業內部伺服 器各種狀況。 部署的流程簡單清楚。 企業內部 IT 不一定有能力除錯。 產品的穩定性必須極高。 豐富的文檔支持。 IT
Atlassian tools - Slack March 2020 Migrate from Jenkins to GitLab CI May 2020 E2E test with Cypress May 2019 - Migrate to GitLab - Use Jenkins as CI server - Issue tracking: Jira July 2019 - 整合 E2E 自動化測試 - Docker - Container registry Alex join Mobagel 沒有列出所有工具,不然擠不下
with GitLab Easy setup Don’t need to host additional CI server Lower learning curve for developers Better documents supports Easy to browse / download artifacts Can’t show multiple status in a merge request Need to switch between GitLab and Jenkins Need to manage plugins Show all the CI jobs with a dashboard
developer Unit Test Lint Check Deploy Build E2E Test Reviewer ✨ ✨ docker pull docker push merge request link to Jira issue trigger 不必額外維護 CI server 真的減少很多負擔呢!
Clone codebase update version commit and tag Build Deploy Pull images E2E test Manual test Download tools Tar archive install.sh Storage use a release tool as an interface, which support: - update version - rollback - sanity check - retag release 前最後一刻的把關 產品版號 產品封裝 最後的測試 release note docker push