VSTS 托管代理 2017 和 PhantomJS 不工作

Posted

技术标签:

【中文标题】VSTS 托管代理 2017 和 PhantomJS 不工作【英文标题】:VSTS Hosted Agent 2017 and PhantomJS Not working 【发布时间】:2017-05-05 09:59:59 【问题描述】:

我正在将一个项目迁移到 VSTS 上的 dotnet core *.csproj,但我无法在 Hosted2017 下获得具有 PhantomJS 的可行代理。有人可以就此提出建议吗?

经典的“Hosted”或“Hosted 2017”都没有明确地将 PhantomJS 作为一项功能。

它似乎可以通过添加以下变量来托管...

PHANTOMJS_BIN: C:\NPM\Modules\PhantomJS.cmd

但这对于 Hosted 2017 是不正确的

【问题讨论】:

【参考方案1】:

您可以通过命令行步骤/任务调用npm install phantomjs来安装phantomjs包。

调用phantomjs命令的简单示例:

    npm 安装(工作文件夹:$(Build.SourcesDirectory); npm 命令:install;参数:phantomjs

    命令行(工具:node_modules\.bin\phantomjs.cmd;参数:--help; 工作目录:$(Build.SourcesDirectory))

您也可以将其添加到环境中临时(仅在当前会话中)。例如:

    npm install(同) PowerShell 脚本(参数:-p $(Build.SourcesDirectory)\node_modules\.bin;

脚本:

Param(
 [string]$p
)
$env:Path += ";$p"
phantomjs --help

【讨论】:

我使用了这个的变体——这是正确的答案,但需要一些调整。正确的 npm 模块现在是“phantomjs-prebuilt”(旧的已弃用),不需要第 2 步。您可以通过将 PHANTOMJS_BIN 的变量设置为 '$(System.DefaultWorkingDirectory)\node_modules\.bin\phantomjs.cmd' 来解决此问题

以上是关于VSTS 托管代理 2017 和 PhantomJS 不工作的主要内容,如果未能解决你的问题,请参考以下文章

VSTS 托管代理在啥用户帐户下运行?

VSTS 构建代理 - 一台计算机可以运行多个构建代理吗?

如何在VSTS托管构建代理上返回grunt错误

在睡眠/休眠模式下启动 VSTS Hosted Build 代理

VSTS SonarQube 找不到 TRX 文件

服务结构升级在 VSTS 构建服务器上创建了一个错误