pulumiSkill pulumi

这个技能用于提供Pulumi基础设施即代码的性能和可靠性最佳实践指南。它帮助用户在编写、审查或重构Pulumi代码时,优化部署性能、确保基础设施可靠性,涉及栈管理、组件设计、秘密配置、CI/CD自动化等关键方面。关键词包括Pulumi、基础设施即代码、性能优化、可靠性指南、DevOps自动化、云原生部署、CI/CD流水线、状态管理、资源图优化,适用于搜索引擎优化(SEO)搜索。

CI/CD 0 次安装 0 次浏览 更新于 3/18/2026

名称: pulumi 描述: Pulumi 基础设施即代码性能和可靠性指南。该技能应在编写、审查或重构 Pulumi 代码时使用,以确保最佳部署性能和基础设施可靠性。适用于涉及 Pulumi 栈、组件、状态管理、秘密配置、资源生命周期选项或 CI/CD 自动化的任务。

Pulumi 最佳实践

Pulumi 基础设施即代码的全面性能和可靠性指南,专为 AI 代理和 LLMs 设计。包含 8 个类别中的 46 条规则,按影响优先级排序,以指导自动化重构和代码生成。

何时应用

参考这些指南当:

  • 编写新的 Pulumi 基础设施代码
  • 设计用于重用的组件抽象
  • 配置秘密和敏感值
  • 组织栈和跨栈引用
  • 为基础设施设置 CI/CD 流水线

按优先级分类的规则类别

优先级 类别 影响 前缀
1 状态管理和后端 关键 pstate-
2 资源图优化 关键 graph-
3 组件设计 pcomp-
4 秘密和配置 secrets-
5 栈组织 中高 stack-
6 资源选项和生命周期 lifecycle-
7 测试和验证 test-
8 自动化和 CI/CD 低中 auto-

快速参考

1. 状态管理和后端(关键)

  • pstate-backend-selection - 为生产栈使用托管后端
  • pstate-checkpoint-skipping - 为大型栈启用检查点跳过
  • pstate-stack-size - 保持栈资源数低于 500 个
  • pstate-refresh-targeting - 使用目标刷新而非全栈刷新
  • pstate-export-import - 使用状态导出/导入进行迁移
  • pstate-import-existing - 在管理前导入现有资源

2. 资源图优化(关键)

  • graph-parallel-resources - 结构化资源以实现最大并行度
  • graph-output-dependencies - 使用输出表达真实依赖关系
  • graph-explicit-depends - 仅对外部依赖使用 dependsOn
  • graph-avoid-apply-side-effects - 避免在 apply 函数中产生副作用
  • graph-conditional-resources - 在资源级别使用条件逻辑
  • graph-stack-references-minimal - 最小化栈引用深度

3. 组件设计(高)

  • pcomp-component-resources - 使用 ComponentResource 实现可重用抽象
  • pcomp-parent-child - 向子资源传递父选项
  • pcomp-unique-naming - 使用名称前缀模式确保唯一资源名称
  • pcomp-register-outputs - 显式注册组件输出
  • pcomp-multi-language - 设计支持多语言使用的组件
  • pcomp-transformations - 使用转换处理横切关注点

4. 秘密和配置(高)

  • secrets-use-secret-config - 使用秘密配置处理敏感值
  • secrets-avoid-state-exposure - 防止秘密在状态中泄露
  • secrets-external-providers - 在生产环境中使用外部秘密管理器
  • secrets-generate-random - 使用随机提供程序生成秘密
  • secrets-provider-rotation - 在团队成员离开时轮换秘密提供程序
  • secrets-environment-isolation - 按环境隔离秘密

5. 栈组织(中高)

  • stack-separation-by-lifecycle - 按部署生命周期分离栈
  • stack-references-parameterized - 参数化栈引用
  • stack-output-minimal - 仅导出必需输出
  • stack-naming-conventions - 使用一致的栈命名约定

6. 资源选项和生命周期(中)

  • lifecycle-protect-stateful - 保护有状态资源
  • lifecycle-delete-before-replace - 对唯一约束使用 deleteBeforeReplace
  • lifecycle-retain-on-delete - 对共享资源使用 retainOnDelete
  • lifecycle-ignore-changes - 对外部管理属性使用 ignoreChanges
  • lifecycle-replace-on-changes - 对不可变依赖使用 replaceOnChanges
  • lifecycle-aliases - 使用别名安全重命名资源
  • lifecycle-custom-timeouts - 为长时间运行资源设置自定义超时

7. 测试和验证(中)

  • test-unit-mocking - 使用模拟进行快速单元测试
  • test-property-policies - 使用策略即代码进行属性测试
  • test-integration-ephemeral - 使用临时栈进行集成测试
  • test-preview-assertions - 在部署前对预览结果进行断言
  • test-stack-reference-mocking - 在单元测试中模拟栈引用

8. 自动化和 CI/CD(低中)

  • auto-automation-api-workflows - 使用 Automation API 处理复杂工作流
  • auto-inline-programs - 使用内联程序处理动态基础设施
  • auto-ci-cd-preview - 在 PR 检查中运行预览
  • auto-deployments-api - 使用 Pulumi Deployments 实现 GitOps
  • auto-review-stacks - 为 PR 环境使用审查栈
  • auto-drift-detection - 为生产环境启用漂移检测

如何使用

阅读单个参考文件以获取详细解释和代码示例:

完整编译文档

完整指南包含所有规则扩展:AGENTS.md