fbpx

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

Contents

使用 CI/CD 工作流程自動化程式碼測試、佈署和版本控制。 在市場上建立和發佈 GitHub Actions ( GitHub 行動件 )

從這 8 小時的課程,你會學到

  • 瞭解如何使用 YAML 格式編寫序列化資料( serialized data )
  • 從概念上了解什麼是工作流程和 GitHub Actions
  • 瞭解諸如行動、步驟、工作、事件、工作流程等術語的含義
  • 發現在 github 工作流程中可以做的所有事情(事件、計劃、過濾、環境變數、上下文、加密、矩陣等)
  • 瞭解如何在 github 工作流程中使用 docker
  • 為程式碼測試、格式化、版本控制等建立一個真實的 CI/CD 工作流程
  • 瞭解如何使用語義( semantic )版本控制在工作流程中自動對程式碼進行版本控制
  • 使用 codecov 在工作流程中上傳程式碼測試覆蓋率報告
  • 在工作流程中使用快取( caching )以做到更快的效能
  • 瞭解如何在工作流中上傳工作物件
  • 建立自己的自訂 GitHub 行動( GitHub Actions )
  • 使用 JavaScript 建立一個開 GitHub 問題事項的行動( action )
  • 使用 PHP 建立傳送 Slack 訊息的行動( action )
  • 學習如何在 GitHub 市場上發佈 GitHub 的行動件( GitHub actions )

要求

  • 你應該有基本的 GitHub 知識
  • 一些講座將需要一些基本的 docker 知識(如果你想跳過這些內容也可,這部分不是必要內容)
  • 建立自訂的行動需要 JavaScript 和 / 或 docker 知識
  • 對於某些部分,必須在你的機器上安裝一些東西,包括: node.js、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,並在市場上發佈,供其他人使用。

讓我們來看看每個部分要更詳細的討論:

第一部分

在第 1 部分,我們將對工作流程、行動、作業、步驟和我們將看到的其他術語進行快速的概念性介紹。 我們還將瞭解用於在 GitHub 中編寫工作流程的 YAML 格式。 然後我們將開始編寫我們的工作流程,看看基本的東西,比如編寫命令、使用不同的 shell 和使用包括最常見的提取程式碼的操作。

第二部分

在第 2 部分,我們將更深入地瞭解並學習我們可以使用的不同方法,以便觸發工作流程來執行。 這包括 GitHub 事件,比如推送(push )和拉取( pull )請求、 cron 時間表以及外部事件。 我們還將瞭解如何使工作流程只運行於特定的分支( branches )、標記( tags )和目錄路徑( directory paths )。

第三部分

在第 3 部分,我們將瞭解如何使用預設環境變數,以及如何新增自訂環境變數。 我們還將瞭解如何加密敏感的環境變數,以及如何加密和解密我們不會推送( push )到貯存庫( repository )的敏感檔案。 此外,我們還將看到 GITHUB_TOKEN 環境變數,以及如何使用它進行身份驗證。 此外,我們還將檢視可以在工作流程中訪問的上下文( context )資訊,這些資訊包含有關當前工作流程和虛擬機器等等的大量資訊。 最後,我們將介紹工作流程中可用的不同函數。

第四部分

在第 4 部分,我們將看到如何設定矩陣,一個矩陣是一種多次執行一個作業( job )但使用不同環境的方法。 我們還將學習如何在作業中使用 docker 和步驟,以及如何在作業中執行多個 docker 服務。

第五部分

在第 5 節中,我們將最終使用我們的知識建立一個更真實的 CI/CD 範例。 我們將建立一個程式版本貯存庫( repository ),其中我們有一個 web 應用程式,我們需要有一個生產和一個開發佈署的流程。 因此我們將有兩個分支( branches ),一個用於生產,另一個用於開發,我們將為每個分支編寫一個工作流來完成某些事情。 根據我們推( push )的程式碼是為了生產還是為了開發,這些事情會有所不同。 我們也將有一個工作流程,當有人開了個拉(pull )的請求時執行。 我們將執行的任務包括: 安裝依賴項( dependencies )、快取( caching )、測試、檢查程式碼格式、上傳工作物件( artifacts )、自動生成語義( semantic )版本、佈署到生產( production )/階段( staging)、建立發佈版本、開啟問題項、傳送 Slack 通知等。

第六部分

在第 6 節中,我們將使用一些市場上可用的 actions (行動 )。 在本節中,我們將學習如何建立我們自己的 actions。 可以使用 JavaScriptDocker 建立 Actions。 在本節中,我們將學習這兩種方法,然後我們將建立一個 JavaScript action 來開啟 GitHub 問題項,並建立一個 docker action 來發送一個 slack 訊息,我們將用 PHP 編寫這個訊息。

目標受眾

  • 想了解 GitHub 工作流程和 Actions 的開發人員 / 軟體工程師
  • 想使用 GitHub 建立 CI/CD 工作流程的開發人員 / 軟體工程師
  • 希望學習如何建立和釋出 GitHub Actions 的開發人員 / 軟體工程師

講師簡介

Ali Alaa 前端 Web 開發人員 ( 更多講師主講課程介紹 )

你好啊! 我是 Ali Alaa,一個前端網路開發者。 幾年前,我發現自己對網路開發很感興趣,尤其是前端。 我開始探索這個領域,從 HTML/CSS/JS 到 WordPress 主題化和 JS 框架。 我從事前端開發已經有 7 年了。 這麼多年過去了,我決定開始在網上創作,與大家分享我的知識。

英文字幕:有 (講師提供)

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

🙌 如何有效率地管理 ChatGPT 輸出與整理自己的 ChatGPT 提示( prompts )使用情境?LN+ for Web 已經針對 ChatGPT 的整合做最佳化


🙌 讓 Notion AI 成為你線上學習的得力助手,詳細操作請參考 – 使用 Notion AI 功能來為 udemy 的課程做摘要總結


  • 點選這個優惠連結 課程特價 | Udemy 永久擁有課程 NT370 起( 請登入 Udemy|按過“優惠連結”後到”報名參加課程“連結網頁做更新 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣


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

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

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: