[Azure Functions] GitHub Actions を使って関数をデプロイする
はじめに
先日、Azure Functions 関数を Azure DevOps の Pipelines を使ってデプロイする方法を記事にしました。
- [Azure Functions] Azure Pipelines を使って関数をデプロイする:https://qiita.com/tomohat/items/02c0e189750192e435c5
今回は、Azure Pipelines の代わりに GitHub Actions を使って同様にデプロイする方法を紹介したいと思います。
前提
GitHub リポジトリ
初めてリポジトリを作成する方は、以下のドキュメントをもとにご作成ください。
https://docs.github.com/ja/github/getting-started-with-github/create-a-repo-
Azure Functions
「はじめに」で記した前回記事と同じ構成で作成しておきます。- ランタイムスタック : Node.js (14 LTS)
- オペレーティングシステム : Windows
- プラン : 消費量 (サーバーレス)
Visual Studio Code
ローカル開発環境での関数作成および git コミットまでについても前回記事同様です。
コミットしたら上記で作成した GitHub リポジトリに push しておきます。
※ 前回記事:https://qiita.com/tomohat/items/02c0e189750192e435c5
GitHub Actions の作成
発行プロファイルの設定
GitHub Actions から Azure Functions へデプロイする際に使用する認証情報として、発行プロファイルが推奨されています。
まずはこちらの設定から始めます。
Azure Functions の概要画面に遷移し、発行プロファイルの取得
を押すとファイルがダウンロードできます。
続いて、GitHub リポジトリに移動し、リポジトリ設定の Secrets > New repository secret
を選択します。
Secret 設定画面で、Name を AZURE_FUNCTIONAPP_PUBLISH_PROFILE
とし、Value には先ほどダウンロードした発行プロファイルの中身を全て貼り付けます。
発行プロファイルは Visual Studio Code で開くと中身を確認できます。
これで発行プロファイルの設定は完了です。
ワークフローの作成
ここから、Azure Functions にデプロイするためのワークフロー作成していきます。
まずは、Actions
タブの set up a workflow yourself
リンクを押下します。
すると、YAML ファイル編集画面が表示されると思うので、公式ドキュメントを参考にした以下のコードで上書きます。
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-how-to-github-actions?tabs=javascript#deploy-the-function-app
name: Deploy Node.js project to function app
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: windows-latest
env:
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'
AZURE_FUNCTIONAPP_NAME: '(作成した Function App の名前)'
NODE_VERSION: '14.x'
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@main
- name: Setup Node ${{ env.NODE_VERSION }} Environment
uses: actions/setup-node@v1
with:
node-version: ${{ env.NODE_VERSION }}
- name: Resolve Project Dependencies Using Npm
shell: pwsh
run: |
pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
npm install
npm run build --if-present
npm run test --if-present
popd
- name: Run Azure Functions Action
uses: Azure/functions-action@v1
id: fa
with:
app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }}
上書きしたら Start commit
ボタンを押下します。
GitHub 上で main ブランチをコミットすることでワークフローが走り出し、最初のビルドとデプロイが実行されます。
デプロイが完了したら、Azure Functions に移動して、実際にデプロイされているか確認してみましょう。
参考文献
- GitHub Actions を使用した継続的デリバリー:https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-how-to-github-actions?tabs=javascript
Author And Source
この問題について([Azure Functions] GitHub Actions を使って関数をデプロイする), 我々は、より多くの情報をここで見つけました https://qiita.com/tomohat/items/9a6dfd18a87cd42d1f47著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .