# @4cloudguru/pipeline-task-ado 中文文档

规范地址：https://npmcn.com/package/%404cloudguru/pipeline-task-ado/

版本：0\.11\.1
npm 元数据更新时间：2026-09-09T12:47:27.343Z
中文译文更新时间：2026-11-06T08:42:07.476Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%404cloudguru/pipeline-task-ado
原文对照：https://npmcn.com/package/%404cloudguru/pipeline-task-ado/?lang=original
项目主页：https://github.com/4cloudguru/pipeline-task-ado#readme
源码仓库：https://github.com/4cloudguru/pipeline-task-ado

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：281 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：1 个
- peer 依赖：undici \>=6，azure-pipelines-task-lib \>=4
- 首次发布：2026-08-14T21:55:15.438Z
- 最新版本发布：2026-09-09T12:47:27.000Z
- 近 30 天下载量：3760（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

Azure DevOps特定任务原始由Azure管道任务扩展共享.

## 安装

```sh
npm install @4cloudguru/pipeline-task-ado
```

也可以使用：`pnpm add @4cloudguru/pipeline-task-ado`、`yarn add @4cloudguru/pipeline-task-ado`、`bun add @4cloudguru/pipeline-task-ado`

## README

# @ 4cloudguru/ 管道任务加多

Azure DevOps 任务与 Azure管道任务共享的原始任务 扩展( e)[zu管-晶体](https://github.com/sethbacon/azure-pipelines-terraform), (中文(简体) ), [zu管-包装器](https://github.com/sethbacon/azure-pipelines-packer)) (中文(简体) ).

## 为什么这与 `pipeline-task-core`

`@4cloudguru/pipeline-task-core` 是故意的,这是故意的 **平台不可识别**: 进口 `azure-pipelines-task-lib` 也没有 `undici`,这就是让它 被审计和重用而不拖入 ADO 运行时间。 那块地值钱 继续.

但真正的任务需要代码 _实值_ ADO 特定内容——读取输入,注册 与代理人的秘密,通过代理人的代理来传送HTTP 本地化消息 。 该代码被复制到任务之间和任务之间 两个扩展重置,字节相同,由每个重置执行 `scripts/check-shared-modules.js`这个包裹是它的家.

分裂是关键:

|  | `pipeline-task-core` | `pipeline-task-ado` (这个) |
| --- | --- | --- |
| 取决于 ADO 任务 lib | 永远 | 是(作为同行) |
| 示例 | `assertEgressHostAllowed`, (中文(简体) ), `redactUrl`, (中文(简体) ), `VerificationFailure` | `getBoolInputDefaultTrue`,代理意识 HTTP 客户端 |
| `readUrlInput` 编号 : `readSecretInput` 编号 : `readEndpointUrl` - 读取任务输入或服务连接 URL 而不使用任务- lib 的 `getInput()`编号 :`getEndpointUrl()` 调试行,该行在读取时打印原始值后,任何呼叫者才能掩盖它. `readUrlInput` 记录任何 URL 用户信息在值( 整数、 嵌入数、 无方案数) 中的拼写和每个证书名称的值 `key=value` a. 在自由形式块中进行分配; `readSecretInput` 记录整个数值行和日志 `name=***`· ; `readEndpointUrl` uRL 处理用于 `ENDPOINT_URL_<id>`。 。 。 . |  |  |

把它们作为两个分光符 也是保留扩展测试的方法 接合:一个任务可以嘲笑这个包的 HTTP 表面,而安全保卫它 继续解决 `-core` 并保持真实。 把它们拼成一 模块将允许单 `registerMock` 空空守护者 存在测试 核查——绿色,检查无.

## 同伴依赖,而非依赖

`azure-pipelines-task-lib` 是一个 **端点**一项任务已经销售了自己的副本, 和代理配置 _那个_ 举个例子 装了第二架就飞来 每个 `.vsix` 并且可以对投入和秘密作出不同的回答. `undici` 实值 一个可选的对等端,仅需要代理意识的 HTTP 表面.

## 范围

模块一次移动一个家庭, 最小的第一, 所以迁移模式 在任何安全动作之前

-   [x] `getBoolInputDefaultTrue` — 失败的闭塞布尔输入
-   [x] `http-client` — 代理意识, HTTPS 绑定的客户端接线 `-core`
-   [ ] `registry-version-resolver`
-   [ ] `https-client`
-   [ ] `secure-temp` ——暗含临时文件编写器(0600+独家创建). `azure-pipelines-terraform`副本添加了 Windows ACL 硬化和 a 擦除前取消链接通过 `azure-pipelines-packer`副本缺失; 在此移动地形复制件 .
-   [ ] `environment-variables` ——履带inv var + 秘密注册助手. `azure-pipelines-terraform`副本添加 `registerSecret`编号 : `getTrackedSecretValues` 用于精确匹配的秘密编辑 附加内容 `azure-pipelines-packer`副本不见了.
-   [ ] `id-token-generator` ——OIDC代币换联邦证书. `azure-pipelines-terraform`副本验证 `SYSTEM_OIDCREQUESTURI`是因为 发送前, 主机名与许可列表相对应 `System.AccessToken` 有证书的; `azure-pipelines-packer`副本仅检查 URL 方案为 `https:` 并缺少许可列表检查.

## 警告任何移动模块的人

几个消费者大门扫描 **in- repo 源码** —— 说 `check-proxy-parity.js`, (中文(简体) ), `check-artifact-trust.js`, (中文(简体) ), `check-egress-authorization.js`,以及 `PreMaskingClassL0`'源级行. 当一个模块移动到这个包, 那些门都找不到了 **继续退出 0**。这不是假设: [zu管-铁道# 949](https://github.com/sethbacon/azure-pipelines-terraform/pull/949) 发送代理闸门报告零呼叫 地点和绿色建筑.

因此,每次迁移都必须在同一变化中:

1.  **移动带有密码的大门** 进入repo自己的套房;
2.  **将消费者的形状门替换为版本地板** ——坚持任务 取决于 `@4cloudguru/pipeline-task-ado >= X` (证明,不是形状);
3.  **在消费者身上保留一个行为测试** 证明电线仍然坚守 结束到结束,所以消费者证明了一些事情而不是信任一个版本.

## 发展

```bash
npm ci
npm test            # vitest
npm run typecheck
npm run build       # tsup, dual CJS/ESM
npm run smoke       # packs the tarball and consumes it as a real task does
```

承诺遵循常规承诺;释放自动化,请 并用出处发布于npm.

## 常见问题

### @4cloudguru/pipeline-task-ado 是什么？

Azure DevOps特定任务原始由Azure管道任务扩展共享\.

### 如何安装 @4cloudguru/pipeline-task-ado？

在项目目录运行 npm install @4cloudguru/pipeline-task-ado，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：azure-pipelines-task-lib（\>=4）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @4cloudguru/pipeline-task-ado 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @4cloudguru/pipeline-task-ado 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @4cloudguru/pipeline-task-ado 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @4cloudguru/pipeline-task-ado 可以商用吗？

@4cloudguru/pipeline-task-ado 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @4cloudguru/pipeline-task-ado 的下载量有多少？

根据 npm 官方下载统计，@4cloudguru/pipeline-task-ado 在 2026/10/05 – 2026/11/03 这 30 天内被下载 3,760 次，日均约 125 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @4cloudguru/pipeline-task-ado 还在维护吗？

最新版本 0\.11\.1 发布于 2026/09/09（1 个月前）；至今共发布 21 个版本，其中过去 12 个月发布了 21 个；首次发布于 2026/08/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

