我有一个Service Fabric应用程序,具有多个服务,可以在Azure上配置为"Dev","Test","Stage"和"Production".
我的目标是为我的"测试"和"舞台"环境设置1个集群,为"生产"设置另一个集群.显而易见的原因是节省成本!
我正在使用Visual Studio Online Build/Release.这是我遇到问题的地方:
我可以更新"Stage"的配置设置并部署到我的集群 - 但是由于应用程序名称将与现有的"Test"应用程序相同,因此它会使用"Stage"的新配置更新覆盖该集群上的该应用程序.
显然,我可以从Service Fabric Explorer中"创建应用程序实例" - 但是我没有办法以这种方式注入新配置 - 只为该实例设置一个新名称,这将运行另一个配置与基本相同的实例.
所以我想 - 好吧,我只会上传具有不同配置的新版本并从资源管理器部署实例 - 但这不仅看起来很麻烦,它仍然会尝试升级我运行的现有应用程序.
我还需要使用每个应用程序实例重新配置每个服务的端口,以便它们都可以存在于同一个集群中并位于相同的负载均衡器后面,但似乎没有办法覆盖ServiceManifest中的节点....
所以我的问题是:使用单独的配置和服务端口管理和隔离多个应用程序实例的最佳做法是什么,以便您可以为"Test"配置一个,为"Stage"配置另一个,并且两者都存在于同一个集群中?
.net azure azure-deployment azure-service-fabric azure-devops
通过<SelfContained>true</SelfContained>在发布配置文件中进行定义,我可以从本地计算机上将.NET Core应用程序作为自托管应用程序发布到Azure Web Service 。
默认情况下,Azure DevOps管道中的App Service Deploy任务会将其发布到IIS。如何配置它以自托管方式发布?
azure-deployment azure-devops azure-pipelines azure-pipelines-release-pipeline
我在 Azure 门户中的暂存槽中使用自动部署来部署 Webjob,但问题是此 webjob 在部署后直接运行,它可能会导致主槽 webjob 和暂存 webjob 之间出现混淆。
有没有办法在不运行 webjob 的情况下部署它,除非我启动它并交换插槽?
我们有一个 Azure Function 项目,其中包含一个专门命名的文件,使本地调试变得更加容易。但是,我们不希望将该文件部署到 Azure。
标准打包和发布过程明确知道指定的文件local.settings.json,因此永远不会部署该文件。
一些在线文档和帖子说您可以在项目中包含一个名为 的文件,.funcignore其语法与.gitignore. 在那里你应该能够指定你不想打包的文件。
我们所拥有的文件被称为local.funcdebugging.json并且具有以下文件属性
我们的 .funcignore 文件看起来像这样
## Files that should be ignored from Azure Deployment
# EasyAuth Debugging file
local.funcdebugging.json
Run Code Online (Sandbox Code Playgroud)
尽管有这些设置,调试文件仍然会被部署。如何防止此文件成为 Azure 部署的一部分?
我在 Azure 中部署了一个函数应用程序,并在尝试“代码 + 测试”->“测试 + 运行”时,我在键下拉列表中只看到一个键 - 默认(功能键):
应用程序密钥部分如下所示:
使用此密钥运行时,我看到 401 未经授权的错误:
它不应该在下拉列表中显示更多数量的键吗?应用程序设置包含
AzureWeb作业存储
FUNCTIONS_EXTENSION_VERSION (~3)
FUNCTIONS_WORKER_RUNTIME
我是否缺少在密钥下拉列表中显示主(主机)密钥的内容?
azure azure-deployment azure-resource-manager azure-functions azure-function-app
我们的管道表明部署后成功。
当查看文件夹中的“Kudo console”时,wwwroot我观察到以下行为:

部署任务没什么特别的:
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy Frontend'
inputs:
ConnectionType: 'AzureRM'
azureSubscription: # subscription #
appType: 'webApp'
WebAppName: # appname #
packageForLinux: # package #
Run Code Online (Sandbox Code Playgroud)
构建的工件大约是。大小为 17 MB 并且存在。我下载了。它是一个可以解压的 ZIP 文件。

在查看时,data\sitepackages我观察到以下行为:所有部署运行的大小均为1 KB。这解释了为什么无法提取 ZIP。但为什么是 1 KB?

更新(1):
当我们使用“Kudo Console”中的“Zip Push Deploy”功能时,我们可以拖放之前从工件中下载的 ZIP 文件。 zip 被解压并且应用程序可以运行! 这意味着工件中的 ZIP 没有损坏。
更新(2):
完整的运行表明成功并生成了 17 MB 的工件。部署后,ZIP 文件的大小为 1 KB。部署任务一定有问题吧?
更新(3):
部署步骤的屏幕截图也显示成功:
更新(4):
MSFT 支持建议使用部署作业的 V3:AzureRmWebAppDeployment@3。
相同的结果。
更新(5):
我同时重新创建了应用程序服务(删除并创建)。
相同的结果。
我正在部署 Service Fabric 应用程序,并遇到以下类型的资源错误Microsoft.ServiceFabric/clusters/applicationTypes/versions:
Status: Failed
Error:
Code: ClusterChildResourceOperationFailed
Message: Resource operation failed. Operation: CreateOrUpdate. Error details: {
"Details": "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR: DOWNLOAD PATH SANITIZED"
}
Run Code Online (Sandbox Code Playgroud)
以前有人遇到过这个问题吗?如果是这样,错误的根本原因是什么?
Microsoft记录了隐式和显式依赖关系的目的。其中显式依赖项使用“dependsOn”。但有人提到这种方法的用例很少。
可以对以下内容进行一些澄清:
MS 的示例
resource dnsZone 'Microsoft.Network/dnszones@2018-05-01' = {
name: 'demoeZone1'
location: 'global'
}
resource otherZone 'Microsoft.Network/dnszones@2018-05-01' = {
name: 'demoZone2'
location: 'global'
dependsOn: [
dnsZone
]
}
Run Code Online (Sandbox Code Playgroud)
引用
部署后,您无法查询在dependsOn元素中定义了哪些资源。
假设“otherZone”是一个dependsOn元素,它仍然可以使用符号名称进行查询。
我错了吗?如果是的话,这意味着什么the dependsOn element?
如下面的 yaml 所示,当我们知道在parameters.deploymentTemplate 中包含的任何任务期间部署失败的原因时,我们会填充deploymentFailureReason 变量。我们希望能够在从 on:failure 作业调用时将该原因传递给我们的部署跟踪器。
我们知道如何在作业之间和阶段之间传递变量。两者都需要了解我们试图从中获取变量的作业和/或阶段。这些作业是基于每个虚拟机创建的,目前我们无法找到访问在部署作业中创建的 failure.reason 输出变量的方法。我们已经验证,当到达下面名为“failure”的 powershell 步骤时,deploymentFailureReason 已填充。只是似乎无法找到一种方法来完成 on:failure 工作。
我们曾考虑过将deploymentFailureReason写入文件并从on:failure作业中读取它,因为两者都在同一台机器上运行,但肯定有更好的方法。
我们欢迎任何想法、澄清问题或想法,这些可能会促使我们摆脱当前限制我们对此问题思考的框框。
parameters:
- name: deploymentTemplate
type: string
stages:
- stage: DevStage
jobs:
- deployment: Dev_Deployment
variables:
- name: deploymentFailureReason
value: ''
environment:
name: Dev-VM
resourceType: VirtualMachine
workspace:
clean: all
strategy:
runOnce:
deploy:
steps:
- template: ./deployment-initialize.yml
- template: ${{ parameters.deploymentTemplate }}
- powershell: |
Write-Output "were here"
Write-Output "deploymentFailureReason = $(deploymentFailureReason)"
Write-Host "##vso[task.setvariable variable=reason;isOutput=true]$(deploymentFailureReason)"
name: failure
condition: failed()
on: # On success or failure …Run Code Online (Sandbox Code Playgroud) 尝试通过 github 将 nexjs 应用程序部署到 Azure,但不断收到如下错误消息。我已经尝试了之前谈话中提到的所有内容,但没有成功。请帮我解决它。
内容服务器已拒绝该请求,原因为:BadRequest 原因:函数内容的大小太大。此静态 Web 应用程序的限制为 104857600 字节。
我尝试了不同的方法来部署应用程序,但仍然无法正常工作。请帮忙
azure-deployment ×10
azure ×5
azure-devops ×2
.net ×1
azure-bicep ×1
azure-pipelines-release-pipeline ×1
next.js ×1