演習 - GitHub Actions を使用して更新を自動化する
GitHub Actions は、Azure SQL Database などの多くのさまざまなサービスの CI/CD パイプラインを自動化する方法です。
バス乗車のシナリオでは、データベースを使用してアプリケーションの基盤を構築することを思い出してください。 データベースを更新する場合、または同じ構成を新しいデータベースに自動的にデプロイする場合、GitHub Actions を使用することができます。
更新を自動化するには、GitHub シークレットと yaml ファイルを構成する必要があります。 これらの設定が完了すると、プッシュされた新しいコミットによってワークフローがトリガーされ、その後、新しい Azure SQL Database またはその他のサービスが更新されます。
GitHub を使用してシークレットを安全に構成する
GitHub シークレットでは、シークレット、キー、その他の機密情報を GitHub に安全に格納する方法が導入されます。 このセクションでは、Azure SQL Database の接続文字列を含む新しい GitHub シークレットを作成します。
テキスト ファイル、メモ帳、または用紙上で、Azure SQL Database の接続文字列を判別します。 これは
Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;
のようになっています。GitHub でこのモジュールのリポジトリに移動します (サインインしていることを確認してください)。 これは
https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql
のようになっています。リポジトリの [Settings](設定) を選択します。
[シークレットと変数]>[アクション]>[新しいリポジトリ シークレット] の順に選択し、次の情報を入力します。
- [Name](名前): AZURE_SQL_CONNECTION_STRING
- シークレット: 前の手順の接続文字列
[Add secret](シークレットの追加) を選択します。
GitHub Actions 用に yaml ファイルを構成する
コード リポジトリには、いくつかのテンプレート yaml ファイルが用意されています。 このモジュールでは、Azure SQL Database のワークフロー ファイルのみを使用します。
Visual Studio Code のアクティビティ バーで、[エクスプローラー] アイコンを選択し、リポジトリ ファイルを表示します。 それらが表示されない場合、[ファイル]>[フォルダーを開く] を選択し、リポジトリを複製した場所に移動します。
フォルダー
.github\workflows
の下で、azuresqldatabase.yml.template
の名前をazuresqldatabase.yml
に変更します。テンプレートを確認し、ワークフローで実行される内容と、それによってデータベースがどのように更新されるかを理解してください。
Visual Studio Code と GitHub を使用してコミットをプッシュし結果を監視する
GitHub シークレットとワークフロー ファイルが構成されたので、コミットをプッシュしてワークフローを観察する準備ができました。
アクティビティ バーの [ソース管理] アイコンを選択します。
[メッセージ] ボックスに、"Enable database yaml" またはその他のメッセージを入力します。
チェックマークをオンにします。 ファイルをステージングせずにコミットすることに関する警告が表示された場合は、[はい] を選択して、変更されたファイルをステージングできます。
[...]>[プッシュ] を選択します。 これにより、GitHub でホストされているリポジトリに更新がプッシュされ、すべての GitHub Actions が開始されます。
重要
ログインを求めるメッセージが表示された場合は、GitHub のユーザー名を使用し、GitHub のパスワードの代わりに指定する個人用アクセス トークンを取得する必要があります。 これは、https://github.com/settings/tokens/new に移動して行うことができます。 メモ
VSCode
を追加し、すべてのボックスをオンにして、[トークンの生成] を選択します。 トークンのテキストをコピーし、安全な場所に格納します。 Visual Studio Code に戻り、このトークンを GitHub にログインするためのパスワード/トークンとして使用します。このモジュールの GitHub リポジトリに移動し、[アクション] を選択します。 GitHub Actions を使用すると、お使いのリポジトリ内でソフトウェア開発ワークフローを自動化、カスタマイズ、実行できます。
実行中の (または完了した) ワークフローの内容を確認します。 Azure SQL Action でリポジトリ内の
.dacpac
ファイルを使用して、データベースの最後の状態を Azure SQL Database にどのようにデプロイするかに注意してください。