![](/img/trans.png)
[英]Setting up CI/CD Pipeline on Azure for Azure Python Function
[英]Azure Function APIs cannot be found after CI/CD
然而,Azure功能中的学习者遇到问题对我来说似乎很奇怪。
我(从Visual Studio 2017)(手动)发布(在调试模式下)具有匿名身份验证级别的Azure功能应用程序。这仅使用实体框架核心执行简单的CRUD操作。 Azure功能的运行时版本是2.这对Postman进行了很好的测试。 这里只是其中一个函数的签名(它们都具有相同的Route,但根据CRUD操作具有不同的HTTP谓词)
[FunctionName("DeleteProductFunction")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = "product")] HttpRequest req,
ILogger log)
问题:
一旦我使用Azure DevOps设置CI / CD管道,一切都开始了。 整个管道成功运行,并将新版本真正发布到Azure功能中。 之后,回到邮递员进行测试,我收到了404所有API(CRUD)。
我做了什么:
我在这里搞砸了什么? 我没有任何线索!
任何意见,经验分享或对此的帮助都非常感谢。
嗯..我找到了解决方案。 基本上,我已经在我的问题中暴露了这一点而没有注意到:)
我搞砸了Build定义:我有Build,Archive和Publish Artifact作为Build定义中的任务。 第一个将已发布的文件输出到“output_publish”文件夹中。 默认情况下,下一个任务“归档”也会设置为“根文件夹或要归档的文件”的此文件夹。 我遇到了“无法找到指定路径”的错误。 为了(仅)避免此错误,我(不小心)选择了我的项目的Main文件夹而不是“publish_output”。 这有问题! 为什么? 因为当所有内容都进入Azure时,“function.json”正在根据此路径“scriptFile”:“.. / bin / MyFunctionApp.dll”查找“dll”,但此路径无效。
我怎么解决这个问题?
在我的Build定义中,我在项目主文件夹之后添加了“publish_output”,即“project_folder / publish_output”。 然后,上面的DLL路径已解决,我的功能现在正常工作。
希望这可能对其他人有帮助..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.