Githubアクションを使用したAzure関数の配備
7526 ワード
私が作成したとき、私は与えることに決めましたGitHub Actions 展開ツールとしてのスピン、すべての後、私は非常に私はときに気に入った.では、Githubアクションを使用する方法を見てみましょうAzure Function .
Githubのアクションを始めたのは、GITHUBのアクションに新しいのであれば、最初に読むことをお勧めします.
アクションの設定
我々は、我々のGithubアクションファイルを作成することから始めます
ビルドジョブ
それならば.NET関数では、ノードならばコンパイルする必要があります.JPはNPMパッケージをインストールし、Pythonの場合はPIPを使用します.これはビルドジョブの役割が、Azureに展開するために必要な資産を準備することです.
現在、展開ジョブの出力をパッケージ化するときです.
展開ジョブ
パズルの最後の部分は
そして、ワークフローが完了すると、Azureにあなたの機能を展開する準備が整いました.あなたは、フルファイルを見つけることができますon my GitHub 一緒にa recent run あなたが出力に興味があるならば.
結論
53行だけでは、私たちがブランチにプッシュするたびにAzure関数を展開するGithubアクションを作成することができます.
私はそれをどのように行うかをカバーした.あなたが他の言語のヘッドでそれを行う方法をチェックアウトする場合Azure Function docs .
Githubのアクションを始めたのは、GITHUBのアクションに新しいのであれば、最初に読むことをお勧めします.
アクションの設定
我々は、我々のGithubアクションファイルを作成することから始めます
.github/workflows/devops-workflow.yml
我々のGit Repoで:name: Build and Deploy
env:
OUTPUT_PATH: ${{ github.workspace }}/.output
DOTNET_VERSION: "3.1.100"
on:
push:
branches:
- master
jobs:
出力にはいくつかの環境変数を使います.NETバージョン(私のイメージジェネレータの関数は. NET関数ですが、使用している非NETである場合は必要ありません)、このワークフローはコードがmaster
枝.ビルドジョブ
それならば.NET関数では、ノードならばコンパイルする必要があります.JPはNPMパッケージをインストールし、Pythonの場合はPIPを使用します.これはビルドジョブの役割が、Azureに展開するために必要な資産を準備することです.
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@master
- name: Setup Dotnet ${{ env.DOTNET_VERSION }}
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Publish functions
run: dotnet publish --configuration Release --output ${{ env.OUTPUT_PATH }}
これはactions/setup-dotnet@v1
市場からの行動は、正しいバージョンをインストールします.NET(私たちの環境変数に基づいて)と使用します.出力を公開するための. NET CLI.現在、展開ジョブの出力をパッケージ化するときです.
- name: Package functions
uses: actions/upload-artifact@v1
with:
name: functions
path: ${{ env.OUTPUT_PATH }}
多田🎉! 配備する準備が整いました.展開ジョブ
deploy:
runs-on: ubuntu-latest
needs: [build]
env:
FUNC_APP_NAME: blogimagegenerator
以来deploy
仕事は、からのArtifactを必要としますbuild
ジョブを使用して依存関係として設定しますneeds: [build]
, それ以外の場合は、関数がビルドされる前に展開します.steps:
- name: Download website
uses: actions/download-artifact@v1
with:
name: functions
path: ${{ env.OUTPUT_PATH }}
- name: "Login via Azure CLI"
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
使用actions/download-artifact@v1
我々は、出力を得ることができますbuild
仕事とそれから私たちが以前に生成した資格情報を使用してazureにログインする時間です.パズルの最後の部分は
Azure/functions-action@v1
市場からのGithubアクション:- name: "Run Azure Functions Action"
uses: Azure/functions-action@v1
with:
app-name: ${{ env.FUNC_APP_NAME }}
package: ${{ env.OUTPUT_PATH }}
これは、我々のアプリケーションとして提供するように展開している関数のアプリの名前が必要ですapp-name
パラメータを指定します.FUNC_APP_NAME
).そして、ワークフローが完了すると、Azureにあなたの機能を展開する準備が整いました.あなたは、フルファイルを見つけることができますon my GitHub 一緒にa recent run あなたが出力に興味があるならば.
結論
53行だけでは、私たちがブランチにプッシュするたびにAzure関数を展開するGithubアクションを作成することができます.
私はそれをどのように行うかをカバーした.あなたが他の言語のヘッドでそれを行う方法をチェックアウトする場合Azure Function docs .
Reference
この問題について(Githubアクションを使用したAzure関数の配備), 我々は、より多くの情報をここで見つけました https://dev.to/azure/deploying-azure-functions-with-github-actions-c5pテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol