node.js - Azure DevOps 扩展中的 Node Cipheriv 警告 - 发布任务

标签 node.js azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task

我正在从事一个开发 Azure DevOps 发布任务扩展的项目。最近,当发布任务运行时,我在日志中多次打印此警告消息 - “警告:将 Cipheriv 用于 aes-256-ctr 的计数器模式”。

我没有早点得到它。当我开始收到这个错误时,我只更改了一些 console.log(..),甚至没有更改任何可能触发此错误的代码。 (可能是一些 npm 依赖更新!)

关于为什么我会收到此错误以及如何修复它的任何想法!如果没有,如何禁用它?

附言- 我知道这个问题已经被问到并且可能被归类为重复问题。但我在 Azure DevOps 发布任务的上下文中询问,其他是独立的 node.js 项目。而且,这些修复对我不起作用。

最佳答案

这与 Azure-Pipelines-Task-Lib 和 Azure-Pipelines-agent 相关,不受您的控制。问题应该在这些项目或其依赖项中得到解决。

由于这些都随代理安装程序和任务本身一起提供,因此这不在您的直接控制之下。

这可能是由于代理对 Node 6 的依赖性造成的。在代理上支持 Node 10 LTS 的工作正在进行中( Node 10 现在在代理安装程序中并排提供)。

Azure-Pipelines-Agent calls the wrong method here .

    let encryptKey = crypto.randomBytes(256);
    let cipher = crypto.createCipher("aes-256-ctr", encryptKey);
    let encryptedContent = cipher.update(secret, "utf8", "hex");
    encryptedContent += cipher.final("hex");

据我所知,在 Node 8 或更高版本上运行时,它应该调用 crypto.createCipheriv() 而不是 crypto.createCipher()Azure-Pipelines-Task-Lib seems to rely on the same piece of code .

looks like 2.8.0 of the Azure-Pipelines-Task-Lib fixes this .它现在在 npm 上,所以升级以使这些警告消失。

关于node.js - Azure DevOps 扩展中的 Node Cipheriv 警告 - 发布任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55091341/

相关文章:

javascript - 为什么console.log传递不同的参数会得到不同的结果?

powershell - 即使使用非 0 退出代码,Azure DevOps 也会报告 PowerShell 任务已通过

azure - 无法获取资源类型 'Microsoft.Web/Sites' 的资源 ID 和资源名称。错误: ExpiredServicePrincipal

azure - 屏蔽 Azure DevOps 管道日志中的运行时参数

node.js - 使用 mongodb 更新复杂对象

node.js - 如何在elasticsearch中对多个字段进行模糊查询?

node.js - 为什么这个遇到瓶颈的应用程序会停止运行?

azure-devops - 显示用户输入的选择列表

git - 从构建管道推送到本地 Azure DevOps Git

azure - PowerShell 任务未在 Azure Pipelines 中运行脚本?