问题:
我想设置一个CI / CD,在每当我发布对SF API的更改时,它都会自动更新Azure API Management实例中API的终结点。
我打算如何做?
我将更改推送到我的GitHub存储库,它已构建并已部署。该版本的第二步是PowerShell脚本,该脚本使用新部署的SF API的Swagger文档更新现有的Azure APIM API。
出什么问题了?
好吧,除非您在Azure APIM API中定义了终结点,否则您将无法通过网关。我可以默认在其中定义Swagger端点,但是每当运行PowerShell更新时,它都会删除该端点,因为生成的Swagger中没有它自己,这是完全合乎逻辑的。
如果我以某种方式在没有网关的情况下暴露了Swagger终结点,这会带来安全威胁,并且会破坏Azure APIM网关的用途。
我的设置?
传入请求-> Azure APIM-> Service Fabric应用程序(公共/内部)
在这方面的任何帮助都将受到高度赞赏,因为我对此有所限制:-)
答案 0 :(得分:0)
您可以在APIM中创建一个单独的API,仅用于访问广大的AT SF端,而不必将此API作为CI / CD的一部分进行更新。作为该API的一部分,甚至可以从外部查看。例如,如果您的主API的后缀为“ / myApi”,那么您可能将挥舞的API后缀定义为“ /myApi/swagger.json”(其中的操作可能具有空的URL模板)。
或者您也可以作为CI / CD的一部分,在新导入的API中重新创建摇摇欲坠的访问操作。稍后将使用此端点来获取下一次导入的摇摇欲坠。