【问题标题】:Azure DevOps Services ServerGate task questionsAzure DevOps Services ServerGate 任务问题
【发布时间】:2020-12-14 19:01:25
【问题描述】:

我正在创建一个自定义 ServerGate 任务并且有两个问题。

  1. ServerGate 任务可以在自托管代理上运行而不是在无代理上运行吗?我做了一些研究,很多人都说只能运行 Agentless..

  2. 如果它只能在 Agentless 上运行,我想知道是否可以运行 Invoke-RestAPI 任务来访问我的通用服务连接(内部地址)?好像不能从日志中得到

无法获取主机“https:\internaladdress.coom”的 DNS 地址

更新** 12/15 我正在尝试在此处运行 Invoke REST API:GET 来评估某些内容,看起来它只是在运行无代理,因此无法连接到我们的内部服务器?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    在代理作业中运行任务时,代理机器上应该已经安装了一个工具或应用程序,可以用来解析、编译或执行任务的代码。

    例如,当您要在代理作业中执行 Invoke-RestAPI 时,一般需要使用安装在代理机器上的 PowerShell(或其他合适的 shell)来执行 API。

    如果您不想使用第三方工具来执行您的任务,您可能需要自己开发一个工具来解析、编译和执行您的任务。

    [更新]

    在您的情况下,使用通用服务连接来运行 Invoke REST API 任务不起作用。它无法连接到您的内部服务器。

    作为一种解决方法,您可以尝试如下步骤:

    • 在您的内部服务器机器上安装自托管代理(云上的虚拟机和物理机都可以)。
    • 设置一个 shell 脚本来执行 API。
    • 在您的管道中,添加一个在自托管代理上运行的作业,以通过 shell 脚本任务执行 shell 脚本。

    这样,由于API直接在你的内部服务器机器上执行,你不需要设置额外的服务连接。

    【讨论】:

    • 您好,我想调用 RestAPI 连接到我们的内部服务器
    • @wonderfulworldwithcharity,我已经更新了我上面的答案。请检查并试一试。有任何进展,请随时告诉我。
    • 嗨 Bright Ran,我已经有了自托管代理,但我可以在 GateTask 中使用它吗?
    • @wonderfulworldwithcharity,这取决于您如何设计要编排和执行的任务。正如我上面解释的,如果你设计你的任务将使用安装在你的代理机器上的一些工具或应用程序(例如 Node、PowerShell、CMD、Bash 等)来解析、编译和执行任务的代码,是的,它是代理作业的任务,您可以在自托管代理上运行它。如果你设计你的任务由服务器编排并在服务器上执行,它是一个无代理作业的任务,你不能在你的自托管代理上运行它。
    • 嗨@wonderfulworldwithcharity,进展如何?我上面的解释和建议对你有帮助吗?如果您对这张票有任何疑问,请随时告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2019-04-14
    • 1970-01-01
    • 2019-08-04
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多