練習 - 使用 GitHub Actions 來自動化更新

已完成

GitHub Actions 可以將許多不同服務的 CI/CD 管線自動化,包括 Azure SQL Database。

重回搭公車情節,您將以資料庫打造應用程式的基礎。 當您想要自動更新資料庫,或將相同的設定自動部署到新的資料庫時,您可以使用 GitHub Actions。

為了自動化更新,您必須設定 GitHub 秘密和 yaml 檔案。 設定之後,推送的新認可會觸發工作流程,進而更新 Azure SQL Database 或其他服務。

使用 GitHub 安全地設定祕密

GitHub 祕密有辦法將祕密、金鑰和其他敏感性資訊安全地儲存在 GitHub 中。 在本節中,您將建立新的 GitHub 祕密,其中包含 Azure SQL Database 連接字串。

  1. 在文字檔、記事本或紙張上,決定 Azure SQL Database 的連接字串。 看起來就像 Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;

  2. 在 GitHub 上瀏覽至存放庫,找出此課程模組 (請確定您已登入)。 看起來就像 https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql

  3. 選取存放庫的 [設定]

  4. 選取 [祕密與變數] > [動作] > [新增存放庫祕密],然後輸入下列資訊:

    1. 名稱AZURE_SQL_CONNECTION_STRING
    2. 祕密上一個步驟中的連接字串
  5. 選取 [新增祕密]。

設定 GitHub Actions 的 yaml 檔案

程式碼存放庫中有數個範本 yaml 檔案可供使用。 在本課程模組中,您只會使用 Azure SQL Database 的工作流程檔案。

  1. 在 Visual Studio Code 中,選取活動列上的檔案總管圖示,以檢視存放庫檔案。 如果您沒看到,請選取 [檔案]>[開啟資料夾],然後瀏覽至複製存放庫的位置。

  2. 在資料夾 .github\workflows 之下,將 azuresqldatabase.yml.template 重新命名為 azuresqldatabase.yml

  3. 檢閱範本,探尋了解工作流程的用途及其如何更新資料庫。

使用 Visual Studio Code 和 GitHub 推送認可並監視結果

設定 GitHub 祕密和工作流程檔案後,您就可以準備推送認可並觀察工作流程。

  1. 選取活動列上的原始檔控制圖示。

  2. 在 [訊息] 方塊中,輸入「啟用資料庫 yaml」或其他訊息。

  3. 選取 [核取記號]。 如果您收到不暫存任何檔案的認可警告,您可以選取 [是] 來暫存變更的檔案。

  4. 選取 [...]>[推送]。 這會將更新推送至裝載於 GitHub 上的存放庫,並啟動任何 GitHub Actions。

    重要

    如果系統提示您登入,您必須使用 GitHub 使用者名稱,並取得提供的個人存取權杖,而不是 GitHub 密碼。 您可以前往 https://github.com/settings/tokens/new 來辦妥這件事。 新增筆記 VSCode,勾選所有方塊,然後選取 [產生權杖]。 複製權杖文件,並儲存在安全的位置。 回到 Visual Studio Code,使用權杖作為登入 GitHub 的密碼/權杖。

  5. 瀏覽至 GitHub 存放庫找出本課程模組,並選取 [動作]。 GitHub Actions 可讓您直接在存放庫中自動化、自訂和執行軟體開發工作流程。

  6. 觀察執行中 (或已完成的) 工作流程的內容。 請注意 Azure SQL 動作如何使用存放庫中的 .dacpac 檔案,將資料庫的最終狀態部署到 Azure SQL Database。