使用 ARM 模板和 GitHub 操作将 .NET Core 应用程序部署到 Azure Web 应用程序
Deploy .NET Core app to Azure Web App with ARM template and GitHub Actions
我非常熟悉 Azure DevOps,流水线化所有这些东西,现在我正在尝试深入研究 GitHub Actions。问题基本上很简单,我想将我的 .NET Core 5 应用程序部署到 Azure。唯一的问题是,所有示例都包含此发布配置文件。
由于我使用 ARM 模板配置基础结构,发布配置文件还不存在。我可以找到一些部署 ARM 模板的示例和几个部署 Web 应用程序的示例,但没有示例将两者结合起来。也许我有点被 Azure DevOps 的工作方式和服务连接的(美妙的)想法所污染。
所以我的问题是,当我无法使用 GitHub 下载发布配置文件并将其存储在我的 GitHub 机密中时,如何将 Web 应用程序发布到 Azure操作?
好的,我自己找到了这个。显然,您可以使用一个操作来为您下载发布配置文件。这意味着您不必预先拥有发布配置文件。该步骤如下所示:
- name: Get WebApp/FunctionApp publish profile
id: webapp-dev
uses: aliencube/publish-profile-actions@v1
env:
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
with:
resourceGroupName: 'your-resource-group-name'
appName: 'your-app-name'
这为您留下了一个名为“配置文件”的输出变量,可以在以下步骤中使用,如下所示:
- name: 'Run Azure webapp deploy action using publish profile credentials'
uses: azure/webapps-deploy@v1
with:
app-name: 'your-app-name'
publish-profile: ${{ steps.webapp-dev.outputs.profile }}
package: './'
这意味着您现在可以使用 ARM 模板配置资源,获取发布配置文件(即时)并使用它来部署您的系统...大家都很高兴...
我非常熟悉 Azure DevOps,流水线化所有这些东西,现在我正在尝试深入研究 GitHub Actions。问题基本上很简单,我想将我的 .NET Core 5 应用程序部署到 Azure。唯一的问题是,所有示例都包含此发布配置文件。
由于我使用 ARM 模板配置基础结构,发布配置文件还不存在。我可以找到一些部署 ARM 模板的示例和几个部署 Web 应用程序的示例,但没有示例将两者结合起来。也许我有点被 Azure DevOps 的工作方式和服务连接的(美妙的)想法所污染。
所以我的问题是,当我无法使用 GitHub 下载发布配置文件并将其存储在我的 GitHub 机密中时,如何将 Web 应用程序发布到 Azure操作?
好的,我自己找到了这个。显然,您可以使用一个操作来为您下载发布配置文件。这意味着您不必预先拥有发布配置文件。该步骤如下所示:
- name: Get WebApp/FunctionApp publish profile
id: webapp-dev
uses: aliencube/publish-profile-actions@v1
env:
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
with:
resourceGroupName: 'your-resource-group-name'
appName: 'your-app-name'
这为您留下了一个名为“配置文件”的输出变量,可以在以下步骤中使用,如下所示:
- name: 'Run Azure webapp deploy action using publish profile credentials'
uses: azure/webapps-deploy@v1
with:
app-name: 'your-app-name'
publish-profile: ${{ steps.webapp-dev.outputs.profile }}
package: './'
这意味着您现在可以使用 ARM 模板配置资源,获取发布配置文件(即时)并使用它来部署您的系统...大家都很高兴...