azure - 无法使用 GitHub 操作部署到 Azure 容器 - 部署失败并出现错误:错误:无法获取应用运行时操作系统
问题描述
1. 总结问题
我正在尝试使用 GitHub 操作将代码从 GitHub 部署到 Azure App Service 容器。使用 GitHub Actions,我能够成功签出我的主分支,登录到 azure 容器注册表,使用 docker 构建容器,并将我的 docker 映像推送到容器。但是在使用 azure/webapps-deploy@v2 和应用程序授权的发布配置文件部署到 Azure Web 应用程序时出现以下错误。
Run azure/webapps-deploy@v2
with:
app-name: dtpdashboardContainers
slot-name: production
publish-profile: ***
images: dtpdashboardcontainerregistry.azurecr.io/client:29b2d0a483f35ffd4490d75443b309f3a28c8ad9
package: .
Error: Deployment Failed with Error: Error: Failed to get app runtime OS
{}
2. 描述你尝试过的东西
值得注意的是,我可以通过 azure 门户手动部署。我可以去容器的 Azure 门户部署中心,选择构建并传递给 Azure 容器注册表的新镜像并进行部署。这一切都按预期工作,但令人沮丧的是,我无法通过 GitHub 推送操作来实现这一点。
3.显示一些代码
构建成功,部署失败并出现上述错误。我已经为此苦苦挣扎了一段时间,因此非常感谢您的帮助!谢谢。
Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy client container app to Azure
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build:
runs-on: 'ubuntu-18.04'
steps:
- uses: actions/checkout@v2
- name: Login to Azure Container Registry
uses: azure/docker-login@v1
with:
login-server: dtpdashboardcontainerregistry.azurecr.io
username: ${{ secrets.AZUREAPPSERVICE_CONTAINERUSERNAME_1EBED267A6874BAE8C94362D3A133011 }}
password: ${{ secrets.AZUREAPPSERVICE_CONTAINERPASSWORD_3E64C8001D134F0F87A64922FA0D562B }}
- name: Build Container
run: docker build -t dtpdashboardcontainerregistry.azurecr.io/client:${{ github.sha }} ./client
- name: Push client image
run: docker push dtpdashboardcontainerregistry.azurecr.io/client:${{ github.sha }}
deploy:
runs-on: 'ubuntu-18.04'
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'dtpdashboardContainers'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_49fd57adb2104ab59b9a586e4a6e8049 }}
images: 'dtpdashboardcontainerregistry.azurecr.io/client:${{ github.sha }}'
解决方案
对我来说,这是通过从 app.scm.azurewebsites.net 中删除访问限制来解决的
推荐阅读
- c++ - 是否可以使用 std 库的 find、begin 和 end 编写 in_array 辅助函数?
- jquery - 克隆 div 复制后不可拖动
- django - 我想在我的网站上添加结构等标签
- python - cv2.imshow() 函数在用户输入时不显示图像,否则工作
- node.js - Meteor + 乘客 + Nginx 的 Segfault
- c# - 在单击服务器端按钮事件后,无法在更改事件上使用 Jquery 获取文本框值?
- spring-mvc - 如何优化这个控制器和 Thymeleaf-View?
- powershell - 变量powershell的新值
- java - 如何在 MpChart 的 BarChart 中使 bar 独立且不相关?
- javascript - 如何使用 InboxSDK 在 Gmail 和其他网站上运行 chrome 扩展程序?