Azure Function 部署成功,但不工作

Tec*_*Rik 8 azure-devops azure-functions azure-pipelines azure-pipelines-release-pipeline

我正面临一个奇怪的问题。我使用 Azure DevOps Pipeline Release 部署了我的代码 - 它成功运行,但是,代码没有反映在 Azure Function App 中。

这是我在做什么:

  1. 使用“部署 Azure 应用服务”任务创建了一个发布管道。它从构建管道中获取工件,并配置为使用服务连接部署到函数应用程序
  2. 当 Release 管道被触发时,它会运行它的所有步骤,并且我获得了成功(请参阅下面的日志)
  3. 但是,当我打开 Azure 门户并导航到 Function App 时,它继续在“概览”选项卡上显示“现在是添加代码的时候了” ,并且我无法在该功能应用程序上点击我的 API
  4. 令人惊讶的是,在Function App的Deployment Center选项卡上,它确实显示了部署的详细信息(请参阅下面的详细信息)
  5. D:\home\site\wwwroot登录Kudu控制台也可以在下面找到部署的zip文件

部署日志:

Got service connection details for Azure App Service:'myFuncApp'
Updating App Service Application settings. Data: {"WEBSITE_RUN_FROM_PACKAGE":"1"}
Updated App Service Application settings and Kudu Application settings.
Package deployment using ZIP Deploy initiated.
Successfully deployed web package to App Service.
App Service Application URL: http://myFuncApp.azurewebsites.net
Run Code Online (Sandbox Code Playgroud)

在函数应用部署中心选项卡上查看:

Deployed Successfully to production
 Source Version 6d9c8340ba  Build 20190411.1  Release: 3
Run Code Online (Sandbox Code Playgroud)

函数应用程序端点正在工作,(抛出一个通用的欢迎页面)确认函数应用程序本身是健康的,但我无法访问我的 API。

其他更新 以下是d:\home\data\SitePackages作为 zip 部署的一部分从 Azure Pipelines上传到的 .zip 文件的结构:

/host.json
/package.json
/proxies.json
/package-lock.json
/func_name/index.js
/func_name/function.json
/node_modules/**
Run Code Online (Sandbox Code Playgroud)

相同的代码在本地工作。

注意:当我转到部署中心选项卡时,我确实看到了此错误消息,但我认为这与通过 Function App 进行持续部署有关

We were unable to connect to the Azure Pipeline that is connected to this Web App. This could mean it has been removed from the Azure Dev Ops Portal. If this has happened, you can disconnect this pipeline and set up a new deployment pipeline.
Run Code Online (Sandbox Code Playgroud)

请帮我。会出什么问题?

Tec*_*Rik 10

我终于能够排除故障。@4c74356b41 为我指明了正确的方向,因为关键问题是包裹。

下面是问题:

  • 我在构建管道中添加了一个归档步骤。这导致工件在发布之前被压缩
  • 在发布管道中,我使用了Azure 应用服务部署任务。这在内部使用Zip Deploy,其中App 类型设置为Azure Functions. 因此,它正在压缩我的压缩文件。

当我删除存档步骤时,避免了双重压缩,它开始工作。