【问题标题】:Azure YAML Pipeline: deploy to Function App without overwriting existing functionAzure YAML 管道:在不覆盖现有函数的情况下部署到 Function App
【发布时间】:2022-11-29 05:27:38
【问题描述】:

我有一个已在 Azure 中创建的 Function App,我需要向其部署两个单独的 Azure Functions托管在不同的回购协议中:

  • (A) HttpTrigger
  • (B) 队列触发器

我想使用 YAML 管道来执行此操作。

每个 Azure 函数都有其单独的 YAML 管道,但每次我运行管道 B 时,部署工作正常,但函数 A 被函数 B 覆盖。

有没有办法同时保留两者?

下面是对 DEV 的部署,它出现在两个管道中。我以为有一个标志说“不要删除你发现已部署的任何东西”,但没有。

我错过了什么?

#Deploy to DEV
- stage: DEV
  displayName: Deploy to DEV
  dependsOn: Build
  variables:
  - group: my-dev-variables 
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/dev'))
  jobs:
  - job: Deploy
    steps:

      #Download artifact to make it available to this stage
      - task: DownloadPipelineArtifact@2
        inputs:
          source: 'current'
          path: '$(Pipeline.Workspace)' 

      #Deploy
      - task: AzureFunctionApp@1
        displayName: Deploy Linux function app
        inputs:
          azureSubscription: $(azureRmConnection.Id)
          appType: 'functionAppLinux'
          appName: $(functionAppName)
          package: '$(Pipeline.Workspace)/**/*.zip'
          deploymentMethod: auto

【问题讨论】:

    标签: python-3.x azure azure-functions azure-pipelines-yaml


    【解决方案1】:

    我不确定项目在 Python 中是如何构建的,但我认为你试图做的事情不可能通过你部署的单独的 repos 来实现。但是,您应该能够通过将这两个功能添加到同一项目然后从同一存储库部署它们来实现您想要的。

    根据您运行的应用程序服务计划(和您的需求),您还可以考虑拥有两个独立的功能应用程序并在同一应用程序服务计划中运行它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      相关资源
      最近更新 更多