相信各位 Go 語言開發者陸陸續續都將專案從各種 Vendor 工具轉換到 Go Module,本篇會帶大家一步一步從舊專案轉換到 Go Module,或是該如何導入新專案,最後會結合 CI/CD 著名的兩套工具 Travis 或 Drone 搭配 Go Module 測試。
[Read More]用 Docker 整合測試 Flutter 框架
Flutter 是一套以 Dart 語言為主體的手機 App 開發框架,讓開發者可以寫一種語言產生 iOS 及 Android,只要裝好 Flutter 框架,就可以在個人電腦上面同時測試 iOS 及 Android 流程,如果您需要 Docker 環境,可以直接參考此開源專案,裡面已經將 Flutter 1.0 SDK 包在容器,只要將專案目錄掛載到 Docker 內,就可以透過
flutter test 指令來完成測試,對於 CI/CD 流程使用 Docker 技術非常方便。
Drone CI/CD 推出 Cloud 服務支援開源專案
Drone 支援單機版安裝 (內附影片)
在上週寫了『Drone 推出 1.0.0 RC1 版本』介紹,裡面提到一個很重要的改變,就是 Drone 現在支援『單機版』安裝了,你會問什麼是單機版安裝?以前不就是可以支援在單台機器把 Drone 給架設起來,那在 1.0.0 RC1 版本指的是什麼意思?在之前的版本,要完整的安裝完成 Drone,需要架設 drone server 及 drone agent,但是在 1.0 版本之後,只需要一個 drone 服務,裡面就內建了 server 及 agent,這很適合用在團隊非常小的狀況底下來快速安裝 drone,假設團隊專案很多,或者是成長很快,建議還是將 server 及 agent 分開架設,未來只需要擴充 agent 即可,底下來看看該如何架設單機版 drone。
[Read More]開源專案 Drone 推出 1.0.0 RC1 版本

終於看到 Drone 作者 bradrydzewski 在 11/7 號釋出 1.0.0-RC1 版本,此版本尚未開源在 GitHub 上面,所以目前只能透過 docker 方式來安裝。另外如果您正在用 0.8.x 版本的,不建議現在轉換到 1.0 版本,原因有幾點,第一作者尚未公開原始碼,第二現在公開也才一週而已,還有很多 bug 以及用法都沒有在線上 document 寫很清楚,第三就是作者尚未提供工具從 0.8.x 升級到 1.0.0 RC 版本。根據上述的原因,建議大家先不要轉換,當然如果團隊尚未導入 CI/CD 的話,我強烈建議使用 1.0.0 RC-1 版本。底下來看看 1.0.0 RC-1 做了哪些變動?
[Read More]高雄 Mopcon 濁水溪以南最大研討會 – Drone CI/CD 介紹
今年又以講者身份參加 Mopcon 南區最大研討會,此次回高雄最主要推廣 Drone 這套 CI/CD 平台。大家可以從過去的 Blog 或影片可以知道我在北部推廣了很多次 Drone 開源軟體,唯獨南台灣還沒講過,所以透過 Mopcon 研討會終於有機會可以來推廣了。本次把 Drone 的架構圖畫出來,如何架設在 Kubernetes 上以及該如何擴展 drone agent,有興趣的可以參考底下投影片:
[Read More]用 Drone CI/CD 整合 Packer 自動產生 GCP 或 AWS 映像檔
本篇來介紹 Hashicorp 旗下其中一個產品叫 Packer,其實在 Hashicorp 旗下有很多其他雲端工具都非常好用,如果大家有興趣都可以上官網參考看看。而 Packer 是用來產生各大雲平台映像檔的工具,平行產生 AWS, GCP, Docker 或 DigitalOcean … 等等眾多雲平台之映像檔對 Packer 來說相當容易,詳細可以參考這邊,也就是說透過 Packer 來統一管理各大雲平台的映像檔,用 JSON 檔案進行版本控制。假設您有需求要管理工程團隊所使用的 Image,你絕對不能錯過 Packer。Packer 不是用來取代像是 Ansible 或是 Chef 等軟體,而是讓開發者更方便整合 Ansible .. 等第三方工具,快速安裝好系統環境。
[Read More]用 Caddy 申請 Let’s Encrypt Wildcard 憑證
2018 年 3 月 Let’s Encrypt 官方正式公告支援 Wildcard Certificate 憑證,有在玩多個 subdomain 有福了,未來只要申請一張 *.example.com 就全部通用啦,當然很高興 Caddy 也跟進了,在 v11.0 正式支援多種 DNS Provider,只要申請 DNS 提供商的 API Key 或 Secret 設定在啟動 Caddy 步驟內就可以了。底下用 Godaddy 舉例。
在本機端快速產生網站免費憑證
大家看到網站免費憑證,一定會想到 Let’s encrypt 服務商提供一個網域可以使用 100 個免費憑證,如果您有很多 subdomain 需求,還可以申請獨立一張 wildcard 憑證,但是這是在伺服器端的操作,假設在本機端開發,該如何快速產生憑證,這樣開啟瀏覽器時,就可以看到綠色的 https 字眼
[Read More]Drone 搭配 Kubernetes 部署 Go 語言項目
在之前寫過一篇『Drone 搭配 Kubernetes 升級應用程式版本』,裡面內容最主要介紹 honestbee 撰寫的 drone 外掛: drone-kubernetes,但是此外掛並非用 Go 語言所撰寫,而是用 Shell Script 透過 kubectl set image 方式來更新專案項目,但是這邊會有幾個缺點,第一點就是假設在 Develop 環境永遠都是吃 master 分支,也就是讀取 Image 的 latest 標籤,這時候此外掛就無法作用,第二點此外掛無法讀取 kubernetes YAML 檔案,假設專案要修正一個 ENV 值,此外掛也無法及時更新。綜合這兩點因素,只好捨棄此外掛,而本篇會帶給大家另一個用 Go 語言所撰寫的外掛,是由 @Sh4d1 所開發的項目,用法相當容易,底下會一步一步教大家如何部署 Go 語言項目。







