GitHub ActionsでAzure Functionsを自動デプロイする

投稿日: 更新日:

今まで関数アプリを手動でデプロイしてたのですがGitHub Actionsで自動化してみようという試みです。

手順

1. 発行プロファイルの取得

関数アプリの概要ページで「発行プロファイルの取得」をクリックします。するとファイルがダウンロードされます。

発行プロファイルの取得画面

2. シークレットの追加

目的のリポジトリを開き、Settings → Secrets and variables → Actionsと設定を開きます。

Repository secretsのNew repository secretsをクリックします。

シークレット追加のGitHub設定画面

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が完成したらプッシュしてください。

実際に動かしてみた

以下のリポジトリが実際に動かしてみたものです。

https://github.com/ocha98/TwitterClockIcon

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人