我试图弄清楚是否有可能将Azure Function应用程序制作成自托管代理以用于管道运行目的。
https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/linux-agent?view=azure-devops
根据这篇文章,你可以把任何一台装有Linux的计算机变成一台。但是,我希望避免使用专用的虚拟机。有没有可能让一个功能应用程序充当自托管代理?我找不到这方面的资料。
我试图弄清楚是否有可能将Azure Function应用程序制作成自托管代理以用于管道运行目的。
https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/linux-agent?view=azure-devops
根据这篇文章,你可以把任何一台装有Linux的计算机变成一台。但是,我希望避免使用专用的虚拟机。有没有可能让一个功能应用程序充当自托管代理?我找不到这方面的资料。
1条答案
按热度按时间kuhbmx9i1#
发表评论作为一个答案,以帮助社区。
无法将Azure Function应用直接转换为自托管代理,因为Azure Function是一种无服务器资源,可以根据触发器的要求进行扩展和缩小。另一种方法是将Function应用程序Dockerize并在Docker Function中运行自托管代理,参考-在Docker中运行自托管代理- Azure Pipelines| Microsoft学习
用于Function应用程序资源的专用应用程序服务计划也是如此,我部署了一个专用应用程序服务Function应用程序,如下所示:-
我创建了一个目录来下载代理并运行下面部分中的命令:
现在,我访问了我的函数应用程序>左窗格>开发工具>高级工具> Go >调试控制台> Powershell > powershell终端将打开以下命令类型:-
我的功能应用程序与专用计划:-
输出:-
在创建代理目录后,我运行下面的命令来下载我的应用程序服务计划中的代理,但它失败了,并且不支持,因为它提出了一个警告,以提高Azure支持,请参阅下面:-
命令reference 1和reference2
输出:-错误
***我在本地机器上下载了代理,直接拖到kudu控制台,尝试运行命令安装代理,但又失败了,因为应用服务控制台需要控制台。改为阅读***参考如下:-
代理文件已传输到应用程序服务计划:-
代理文件传输成功,现在我运行下面的命令,它失败了:-
命令:-
错误:-
由于我们无法更改安装Azure自托管代理的默认代码并写入Console.Read,因此无法实现此方案。除了Dockerizing Function之外的另一种选择是将单个Windows或Linux VM托管为自托管代理,并在其内部本地创建Function应用程序,并通过Azure Devops管道运行它。