iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 22
0
自我挑戰組

M157q 的待業程式生活日誌系列 第 22

[2018 iThome 鐵人賽] Day 22: Docker + Travis CI + Kubernetes + GKE


前言

這篇是 2016 年 6 月時的紀錄,當時剛接觸 Docker 和 Kubernetes 4 個月左右,在把舊的服務根據性質拆分成 3 個不同的 mircro serverices,想要做到讓 Travis CI 在跑完測試後,自動 build Docker image,再把 image 丟到 Google Cloud Platform 上,讓 GKE 使用。

當時還沒有 Google Cloud Builder 可以使用,所以在找尋解法的時候看到果然有人已經這麼做了。以下就來紀錄一下方法。


概要

學 Kubernetes 的時候找到了這簡短的文章:Orchestrating Docker with Kubernetes,覺得可以讓剛上手的人快速瞭解。

至於透過 Travis CI 自動 build image 的部份,照著這篇文章做的確有成功:Docker Workflow(其實看這篇文章的 .travis.yml 就可以瞭解整個梗概了),但發現效果不盡理想,儘管已經拆分成 base image 和 production image,在每次 build image 的時候節省掉 build base image 的時間了,但花的時間還是太久。

當時因為被抓去做其他事,這部份就只弄到這裡,我覺得滿可惜的,後來大家都還是在 local build image 然後再透過 Makefile 把指令包裝起來,在 local 這邊透過 kubectl 把 image push 到 GCP。


後續

當時過了幾個月後,在 2016 年 9 月看到這篇文章:在 Travis 實現 Docker Cache | 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY,才發現原來有這樣的解法可以用。

後來發現也有很多人遇到一樣的問題,後來也大多是用 docker save, docker load 解決:


參考來源


如果覺得我的文章不錯的話,
請幫我按讚、追蹤、訂閱、留言、分享,
有任何問題也都歡迎留言討論,
也可以利用像是 Feedly 等 RSS Reader,
直接訂閱我的部落格:https://blog.m157q.tw
iThome 這邊我應該只有鐵人賽的時候會使用。


上一篇
[2018 iThome 鐵人賽] Day 21: 我平常在電腦上用了哪些程式
下一篇
[2018 iThome 鐵人賽] Day 23: 中國網路相關筆記
系列文
M157q 的待業程式生活日誌31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
微中子
iT邦新手 4 級 ‧ 2018-01-15 01:13:50

多用幾個 CI 服務呢?XD

M157q iT邦新手 5 級 ‧ 2018-01-15 11:09:51 檢舉

「多用幾個 CI 服務」在這情況下沒幫助吧?
還是你想表達的是「多試用其他 CI 服務,有某一家可以更容易做到這件事」的話,直說無妨。

我要留言

立即登入留言