Docker 推出官方 GitHub Actions 套件

cover

去年 GitHub 推出 Actions,就有不少開發者相繼把 CI/CD 流程內會使用到的 Plugin 都丟到 Marktetplace,而在這 Docker 容器時代,肯定是需要用自動化上傳容器到 Docker Registry,而官方也在上週正式釋出第一版 GitHub Actions,雖然在 Marktet 尚有不少開發者已經有實現了此功能,但是官方既然推出了,就採用官方的套件會比較適合。底下我們來看看如何使用 Docker 推出的 GitHub Aciton 來自動化上傳 Docker Image。除了介紹如何使用 GitHub Action 上傳 Image 外,我也會拿 DroneDocker Plugin 來進行比較。

Continue reading “Docker 推出官方 GitHub Actions 套件”

用五分鐘安裝好 Drone 搭配 GitHub 自動化環境

之前寫過一篇『用 10 分鐘安裝好 Drone 搭配 GitLab』。團隊內還沒導入自動化 CI/CD 測試部署環境的朋友們,可以來嘗試看看用 Go 語言打造的 Drone CI/CD 開源專案,不用五分鐘的時間就可以在您的電腦上安裝好 CI/CD 的流程,真的是簡單到不行,只要一個 docker-compose 檔案就可以完成架設了。

Continue reading “用五分鐘安裝好 Drone 搭配 GitHub 自動化環境”

用 Drone 部署靜態檔案到 GitHub Pages

新課程上架:『Docker 容器實用實戰』目前特價 $800 TWD,優惠代碼『20200222』,也可以直接匯款(價格再減 100),如果想搭配另外兩門課程合購可以透過 FB 聯絡我

GitHub 提供一個非常方便的功能,就是可以將靜態檔案部署在 GitHub 上,基本上開發者不用負擔任何 Host 費用,就可以使用靜態檔案來做 Demo 介紹,或者是文件系統。而本篇將教您如何用 Drone 來自動化部署靜態檔案到 GitHub 上。作者直接用 Vue.js 來介紹整個流程。

Continue reading “用 Drone 部署靜態檔案到 GitHub Pages”

用 GitHub Actions 部署 Go 語言服務

GitHub Actions 也推出一陣子了,相信有不少雷,也是有很多優勢,未來在 GitHub 上面串接任何開源專案,都可以免費使用,過幾年可以看看 GitHub Actions 對 Travis 的影響是多少?本篇要來介紹如何透過 GitHub Actions 來部署 Go 語言服務,會用一個簡單 httpd 範例教大家如何透過 Docker 方式來更新。使用 Go 語言基本服務流程大致上會是『測試 -> 編譯 -> 上傳 -> 啟動』,透過這四個步驟來學習 GitHub Actions 該如何設定。

  • 測試: Unit Testing 多一層保護
  • 編譯: 透過 go build 編譯出 Binary 檔案
  • 上傳: 寫 Dockerfile 將 Binary 包進容器內
  • 啟動: 透過 docker-compose 方式來更新服務
Continue reading “用 GitHub Actions 部署 Go 語言服務”

Drone CI/CD 支援 Auto cancellation 機制

大家一定會問什麼是『Auto cancellation』呢?中文翻作自動取消,這機制會用在 CI/CD 的哪個流程或步驟呢?我們先來探討一個情境,不知道大家有無遇過在同一個 branch 陸續發了 3 個 commit,會發現在 CI/CD 會依序啟動 3 個 Job 來跑這 3 個 commit,假設您有設定同時間只能跑一個 Job,這樣最早的 commit 會先開始啟動,後面兩個 commit 則會處於 Penging 的狀態,等到第一個 Job 完成後,後面兩個才會繼續執行。

Continue reading “Drone CI/CD 支援 Auto cancellation 機制”

Ansible 設定 Google Container Registry 搭配 Drone 自動上傳

blog logo

最近剛好有需求要串接 GCR (Google Container Registry),專案如果是搭配 GCP 服務,個人建議就直接用 GCR 了。本篇要教大家如何透過 Ansible 管理遠端機器直接登入 GCR,透過特定的帳號可以直接拉 Image,接著用 docker-compose 來重新起動服務,這算是最基本的部署流程,那該如何用 Ansible 登入呢?請看底下教學。

Continue reading “Ansible 設定 Google Container Registry 搭配 Drone 自動上傳”

Go 語言目錄結構與實踐

golang logo

很高興今年錄取 Modernweb 講師,又有機會去宣傳 Go 語言,這次的議程最主要跟大家介紹 Go 專案的目錄該如何設計,一個基本的專案該需要有哪些功能,以及如何實現。大家剛入門 Go 時,肯定會開始找是否有一套 Web Framework 可以參考實踐,可惜的是,在 Go 語言沒有定義任何的目錄結構,所有的結構都可以根據團隊的狀況而有所改變,而這邊我想強調的是如果能讓團隊看到結構後,一目瞭然知道什麼功能該放哪個目錄,或什麼目錄內大概有什麼功能,那其實就夠了。看了許多開源專案,每個設計方式都是不同,但是當你要找什麼功能時,其實從根目錄就可以很清楚的知道要進入哪個地方可以找到您想要的功能及程式碼。這次在 Moderweb 上面的議題,就是分享我在開源專案所使用的目錄結構,以及結構內都放哪些必要的功能。

Continue reading “Go 語言目錄結構與實踐”

用 10 分鐘安裝好 Drone 搭配 GitLab

Drone+GitLab

如果你沒在使用 GitLab CI,那可以來嘗試看看 Drone CI/CD,用不到 10 分鐘就可以快速架設好 Drone,並且上傳一個 .drone.yml 並且開啟第一個部署或測試流程,安裝步驟非常簡單,只需要對 Docker 有基本上的了解,通常都可以在短時間完成 Drone CI/CD 架設。

Continue reading “用 10 分鐘安裝好 Drone 搭配 GitLab”