標籤

Container

【tetcontainer】使用 Python 在 Docker 中做資料庫的測試案例 | 來賓: PostgreSQL, Docker, Python, GitHub Actions

前言

這一陣子許多同事除了在內部分享會中分享 Testcontainer 的技術,也有到 JCConf 2021 上分享 - Integration testing with Testcontainers,過往我在寫單元測試(Unit)時,時常都把資料庫的函式都直接擋住(Mock),假裝他是成功的情況下往下走,但在一個 API 中資料庫往往是最容易在緊繃時掛掉,亦或是工程是手癢去改了某個欄位,讓整個服務瞬間炸掉,這些問題都是我們無法控制的部分...因此實際讓資料庫跑在測試時可以有個真的環境可以使用是很重要的一環,雖然看專案規模,測試時間有多有少有長有短,但放著一個 Container/VM 在那邊沒用就是很浪費啊,因此就有本次要介紹的 Test Container。

把 Test Container 分開寫比較懂他是幹嘛的,但在找資料時請以 testcontainer 去找才找得到喔!

Test Container 是一個 Java 的函式庫,支援 JUnit 來做測試,在跑測試時可以幫忙起個容器(Container),並可以放上各式資料庫、Selenium 瀏覽器...等等可以放在 Docker 上面跑的內容,那 Test Container 很好的地方就是他也提供 Python 的解決方案(testcontainers/testcontainers-python),讓我這個 Python 開發者可以有機會在 Docker 裡面很快地起一個 Container 來跑資料庫相關的整合測試,接下來就讓我娓娓道來我踩坑的過程 🖌️

有支援各種程式語言的函示庫喔,大家可以去挖挖看

繼續閱讀

將 Chatbot 丟入一台筆電中的 Kubernetes 叢集海 | k3d | Docker

前言

Kubernetes 幫忙處理掉許多以前很繁雜的問題(Auto-Scaling、容器管理..),讓開發者只要手持 Container 與大量 yaml 檔即可將工具部署上去(前提是容器要正常工作),但作為僅有一台筆電的開發者(我)想試玩總不能直接至雲端開叢集(金幣攻擊),因此找到了一個解決方案,使用 k3d 來幫助我們建立 Kubernetes 試玩,以下就一步步帶大家從容器建立到將服務部署於叢集上。

範例專案:louis70109/kubernetes-line-echo-bot

繼續閱讀

SDN x Cloud Native Meetup #29 活動心得

前言

本次活動連結:https://www.meetup.com/CloudNative-Taiwan/events/271350471/

這次一樣是線上小聚的方式為大家帶來精彩的活動,自從碩班畢業之後對於 Cloud Native 接觸的頻率就越來越低,最多是在工作上可能會擦邊學到相關的內容,較多面向程式開發上,那也因為剛好有機會可以跟上活動時間,既然以前有相關經歷那就來參加看一下大家現在都在討論些什麼新知識 🙂。

繼續閱讀