GitHub ActionsでAzure Functionsを自動デプロイする
投稿日: 更新日:
今まで関数アプリを手動でデプロイしてたのですがGitHub Actionsで自動化してみようという試みです。
手順
1. 発行プロファイルの取得
関数アプリの概要ページで「発行プロファイルの取得」をクリックします。するとファイルがダウンロードされます。
2. シークレットの追加
目的のリポジトリを開き、Settings → Secrets and variables → Actionsと設定を開きます。
Repository secretsのNew repository secretsをクリックします。
NameはAZURE_FUNCTIONAPP_PUBLISH_PROFILE
、Secretは先ほどダウンロードしたファイルの内容を貼り付けます。そしてAdd secret。
3. ワークフローの作成
https://github.com/Azure/actions-workflow-samples/tree/master/FunctionApp
上のURLのサイトにテンプレートがあるので目的のものをコピーします。例えば関数のOSがLinuxで言語がPythonの場合はlinux-python-functionapp-on-azure.ymlを使用します。
今回はLinux、Pythonを使います。
まずは.github/workflows/az-deploy.yml
を作成します。
そしてコピーしたファイル内のenv
を設定します。
AZURE_FUNCTIONAPP_NAME
:デプロイする関数アプリ名AZURE_FUNCTIONAPP_PACKAGE_PATH
:関数アプリのパスPYTHON_VERSION
:関数アプリで使っているものとバージョンと合わせる
ymlが完成したらプッシュしてください。
実際に動かしてみた
以下のリポジトリが実際に動かしてみたものです。