完整的 GitHub Actions 和工作流程指南

使用 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 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 WordPress.com 建置.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading