專案啟動了、Issue 開立了、工作分配了,我們假想情境中的主角 Dev Leader 接著要為團隊搭建 CI/CD 環境,按先前針對 Workflow 的規劃...
Kubernetes 是一個 Production 級的容器協作系統,它可以做到自動部署、擴展和管理容器化的應用服務。 Kubernetes (K8s) is...
今天要來介紹一個 Docker 私有庫工具 Harbor,Harbor 是由 VMWare 公司用 Go 語言所開發的開源軟體,用於除存團隊私有的 image...
雖然 docker hub 的 images 應有盡有,但是總會有不符合自我需求的時候,例如:在 nginx container 內希望 nginx 本身具備...
初學 Docker 時,很常發生在不知道 docker-compose.yml 該如何撰寫,且官方網站又沒有提供範例參考,僅僅丟下一行 docker run 指...
運行容器時,最常發生需要互相溝通的問題,容器與容器間的溝通,與虛擬機相同,只要網段一致,即可直接呼叫IP或容器名稱。因此,這邊示範如何在不同的容器中,讓他們有相...
從「虛擬機」轉戰到容器環境時,最容易產生的疑問是容器之間該如何溝通,其實就跟「虛擬機」的環境一樣,透過 IP 或者 URL 的 DNS 解析,指到對應的「虛擬機...
延續昨天的進度,現在我們假想情境中的團隊成員都已順利登入 GitLab,也加入 GitLab Mattermost 的各個 Channel。我們故事中的主角 D...
昨天已經簡單介紹過 GitLab Workflow,今天就讓我們進入在談到第 1 步驟 Idea 時曾提及的工具——Mattermost。 安裝 Matterm...
我們接下來的範例,都是使用 GCP 的方案,雖然 GCP 的 UI 介面已經做得蠻不錯的,如果想把整個環境的建置步驟記錄下來,即使是截圖並寫文字描述補充,還是考...
按著昨天的故事,我們假想中的產品開發團隊已經順利成立了,但在團隊開始投入開發工作之前,需要先和團隊成員們確認接下來團隊的工作分配、Workflow 以及團隊協作...
昨天示範透過 docker command 快速啟動 nginx,但是通常docker command只會用於測試使用,原因是如果服務本身只有透過指令建置,缺點...
首先,先來說明一下昨天的架構圖為什麼不建議使用「虛擬機」,在成本允許下盡量使用「實體機器」的原因是,每次從「實體機」建置新的「虛擬機」總是需要預留些許資源供機器...
經過一晚我猜可能已經有人想到昨天提的架構中,解決了哪些問題又有哪些問題沒有被解決,但是還是要長話一下,說說昨天架構的問題點在哪裡。 已解決: 升版容易,...
昨天看了三個「虛擬機」的機器服務架構,但其實昨天說的第三個架構(微服務時代),仍然有不少隱性的問題: 浪費機器資源:每一台虛擬機都只放一個服務,對於連線數量...
前面講了這麼多觀念、容器、Docker 的東西,從這篇開始我們就要往 Kubernetes 開始邁進了。首先,當然就是得安裝環境了。 在 Mac 作業系統安裝...
YA!本系列文已經進入第 5 天!在艦長拖了4 天的時間之後,今天我們終於要進到 Project 了!說是這麼說,但其實今天也還不會深入 Project 啦~(...
# Outline 一、前言 二、創作方向 A、寫在鐵人賽開始之前 # TL;DR 本系列文章會假定讀者已經有在使用 Git,以此基礎去探究運作原理,再往實踐...
我們希望每個容器功能性都盡量單純,但是我們的服務卻一點都不單純,所以我們常常需要同時執行多個容器,那要怎麼控制多個容器之間的溝通與資源共享呢? Compose...
TL;DR 最近想嘗試為 .NET Core 專案透過 GitLab CI 進行持續整合、交付與部署,這系列主題算是研究筆記吧。 緣起 這段算是開賽前的 mu...
早期尚未有微服務概念時,你可能看過以下的機器架構 縱向擴充:透過加大CPU、Memory、Disk等方式,完成資源擴充 ※ 這時候,會將多個服務放在同一台虛...
在昨天的文章,我們快速瀏覽 GitLab 管理者才能使用的 Admin Area。今天就讓我們回歸 GitLab 的一般操作,先認識 GitLab 的 User...
我們在前一篇,已經使用過了 build 跟 start 兩個指令,但並沒有詳細說它們代表的意思。接下來我們將一個一個介紹起。 關於映像檔 查看本機所有的映像檔...
前言 終於鼓起勇氣挑戰了第一次的IT鐵人賽,之所以選擇寫 DevOps 主題的原因其實很簡單。倘若需要一次性的管理一千多台虛擬機,也許有人會寫一些 shell...
在今天的進度,我們要來認識自行架設 GitLab 時,非常重要的 Admin Area。但如果你後續打算使用 gitlab.com,而非自架 GitLab Se...
在前面的範例中我們有使用到 COPY 這個語法,這行的意思是將目前本機所在目錄的「所有」檔案複製到容器的 WORKDIR 指定路徑下。 COPY . . 但如...
想把 api server 搬到容器化的第一步是撰寫專屬於你的 Dockerfile,但要怎麼寫呢,就讓我娓娓道來。 什麼是 Dockerfile? Docke...
在第一天的文章中,我們簡單的認識了 GitLab,知道它是一項已廣為人知並受到大家喜愛的工具,它不僅能為團隊提供 Git 與 CI/CD 服務,也能滿足軟體開發...
嗨!大家今天過得好嗎?或者應該要問大家今天都工作順暢、沒有救火 on-call 嗎? 在現在的軟體開發工作中,工程師們難免都需要和其他的夥伴一起協力工作,通常協...
這年頭大家都在談論 Immutable,例如 Redux、Functional programming、Blockchain 都在談論它, 它到底是何方神聖,為...