使用 CI/CD 工作流程自動化程式碼測試、佈署和版本控制。 在市場上建立和發佈 GitHub Actions ( GitHub 行動件 )
從這 15 小時的課程,你會學到
- 學習如何使用 YAML 格式編寫序列化資料。
- 了解所有 GitHub Actions 概念(工作流程、步驟、作業、操作等)。
- 探索 GitHub 工作流程的全部功能(事件、計畫、篩選、環境變數、上下文、加密、矩陣等)。
- 學習如何在 GitHub 工作流程中使用 Docker。
- 建立一個真實的 CI/CD 工作流程,用於程式碼測試、格式化、版本控制等。
- 在工作流程中使用快取以提升效能。
- 學習如何在工作流程中上傳工件。
- 學習如何使用 JavaScript 或 Docker 建立自訂 GitHub Actions。
- 建立一個使用 JavaScript 開啟 GitHub Issues 的操作。
- 建立一個使用 PHP 發送 Slack 訊息的操作。
- 學習如何在 GitHub Marketplace 中發布 GitHub Actions。
要求
- 您應該具備 GitHub 的基本知識。
- 部分課程需要一些 Docker 基礎知識(如果您想跳過這部分,則無需掌握)。
- 建立自訂操作需要 JavaScript 和/或 Docker 知識。
- 某些章節要求您在機器上安裝以下軟體:nodejs、npm、docker、composer 和 php。
- 最後一部分需要您積極參與學習,並可能產生費用。
課程說明
Github 最近釋出了“ GitHub Actions ( GitHub 行動件 )” ,這是一個與 TravisCI 和 CircleCI 等服務競爭的 CI 服務。 然而,GitHub Actions 具有與 GitHub 程式版本貯存庫( repository ) 本身整合的優勢。 除此之外,由於 GitHub 的流行,GitHub Actions 還具有擁有大型生態系統和社群的優勢。 使用 GitHub Actions,你會發現許多官方和社群預製的工作程流程以及 Actions 市場。 在 Actions 市場中,你可以找到大量的 Actions,這些 Actions 是可重用的程式碼片段,你可以在工作流程中使用它們來執行某些任務,比如佈署程式碼、與 API 互動、傳送 SMS 等等。
學習你需要知道的一切,以便建立 GitHub 工作流程和 Actions。
在本課程中,我們將全面探討 GitHub 的 CI 服務。 我們將瞭解 GitHub 工作流和操作是什麼。 我們將發現我們在 GitHub 工作流中能做的一切,包括如何執行命令、使用操作、觸發工作流程、建構矩陣、按分支過濾等等。 然後,我們將使用所學到的知識建立一個實際的 CI/CD 工作流程範例,在這個範例中,我們將測試、建構、佈署程式碼等等。 最後,我們將學習如何編寫自訂的 Actions,並在市場上發佈,供其他人使用。
讓我們來看看每個部分要更詳細的討論:
第一部分
在第一部分,我們將對 GitHub Actions 進行概念性介紹。我們將學習工作流程、操作、作業、步驟等術語的含義。我們還將學習 YAML,它是 GitHub 中用於編寫工作流程的格式。然後,我們將開始編寫第一個工作流程,並了解一些基本內容,例如編寫命令、使用不同的 shell 以及使用操作,包括最常用的操作——檢出操作。
第二部分
在第二部分,我們將深入探討觸發工作流程運作的不同方法。這包括 GitHub 事件(例如 push 和 pull_request)、外部事件、手動事件和 CRON 定時任務。我們還將了解如何使工作流程僅在特定分支、標籤和目錄路徑下運作。
第三部分
在第三部分中,我們將探討如何在工作流程中編寫表達式,以及如何在工作流程中使用上下文資訊和函數。我們還將了解如何使用預設環境變數以及如何新增自訂環境變數。我們將學習如何加密敏感訊息,以及如何加密和解密不想推送到程式碼倉庫的敏感檔案。此外,我們還將了解 GITHUB_TOKEN 環境變量,以及如何使用它來執行特定操作並自訂其權限。
第四部分
在這部分中,我們將學習如何設定矩陣。矩陣是一種允許我們使用不同配置多次執行相同作業的方法。我們還將學習並發以及如何重複使用工作流程以避免重複。此外,我們還將了解快取以及工件的上傳和下載。
第五部分
在第五節中,我們將討論如何在 GitHub Actions 中使用 Docker。我們將了解如何在作業和步驟中使用 Docker 映像。我們還將學習如何同時運行多個服務容器,以及如何實現它們之間的通訊。最後,我們將了解如何自動將 Docker 映像發佈到 DockerHub 和 GitHub 容器註冊表。
第六部分
課程中我們會用到一些應用程式商店裡現成的操作。但在本節中,我們將學習如何建立自己的操作。操作可以使用 JavaScript 或 Docker 建立。本節將介紹這兩種方法,然後我們將建立一個 JavaScript 操作來開啟 GitHub 問題,以及一個使用 PHP 編寫的 Docker 操作來傳送 Slack 訊息。我們還將探索另一種編寫操作的方法:複合操作。
第七部分
在第五部分中,我們將運用所學來建立一個真實的 CI/CD 範例。本節將使用名為 Elastic Beanstalk 的 Amazon 服務來部署我們的應用程式。我們將使用功能標誌來持續整合和部署我們的應用程序,而無需向最終用戶公開所有功能。我們將實現應用程式的版本控制和變更日誌的自動化。此外,我們還將新增將拉取請求分支部署到隔離的 AWS 環境以及銷毀該環境的選項。我們終於要學習如何使用 OpenID Connect 從工作流程存取 AWS,而無需儲存任何憑證。本節內容需要一個 AWS 帳戶,如果您積極按照本節操作,可能會產生費用。
目標受眾
- 想了解 GitHub 工作流程和 Actions 的開發人員 / 軟體工程師
- 想使用 GitHub 建立 CI/CD 工作流程的開發人員 / 軟體工程師
- 希望學習如何建立和釋出 GitHub Actions 的開發人員 / 軟體工程師
講師簡介
Ali Alaa 前端 Web 開發人員 ( 更多講師主講課程介紹 )
你好啊! 我是 Ali Alaa,一個前端網路開發者。 幾年前,我發現自己對網路開發很感興趣,尤其是前端。 我開始探索這個領域,從 HTML/CSS/JS 到 WordPress 主題化和 JS 框架。 我從事前端開發已經有 7 年了。 這麼多年過去了,我決定開始在網上創作,與大家分享我的知識。
英文字幕:有 (講師提供)
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
- ✨年訂閱每月 NT350 ( ⏳更多折扣 30% off ) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- DevOps 工程師學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!

發表迴響