@ 4cloudguru/ 管道任务加多
Azure DevOps 任务与 Azure管道任务共享的原始任务 扩展( e)zu管-晶体, (中文(简体) ), zu管-包装器) (中文(简体) ).
为什么这与 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 表面.
范围
模块一次移动一个家庭, 最小的第一, 所以迁移模式 在任何安全动作之前
getBoolInputDefaultTrue— 失败的闭塞布尔输入http-client— 代理意识, HTTPS 绑定的客户端接线-coreregistry-version-resolverhttps-clientsecure-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 发送代理闸门报告零呼叫
地点和绿色建筑.
因此,每次迁移都必须在同一变化中:
- 移动带有密码的大门 进入repo自己的套房;
- 将消费者的形状门替换为版本地板 ——坚持任务
取决于
@4cloudguru/pipeline-task-ado >= X(证明,不是形状); - 在消费者身上保留一个行为测试 证明电线仍然坚守 结束到结束,所以消费者证明了一些事情而不是信任一个版本.
发展
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.