Terraform CDK 的未来
[大
OCF( OCF : OCF) - 说吧 github.com/开放式建筑 在新名称下 CDK 地平线 - cdktn.io
Terraform CDK 提供者项目
项目模板 projen 语录 为预建的提供者软件包创建仓库 CDK 地形。 。 。 .
使用量
提供者重置器完全由此重置器包含的配置自动生成 。 除了创建初始寄存器 - 使用此repo外,不需要手动交互. 这个 cdktn get 命令将作为Github Actions中构建管道的一部分执行。 这些工作按期执行. 因此,将自动收回新的供应商更改.
创建新的提供者
[注] 只有Offical Terraform供应商或Hashicorp合作伙伴Terraform Poviders才能被接受用于预建的供应商生成.
添加新仓库 在这里。 。 。 .
在新创建的存储器中,我们需要的只是 .projenrc.js 这样的文件 :
const { CdktnProviderProject } = require('@cdktn/provider-project');
const { Semver } = require('projen');
const project = new CdktnProviderProject({
terraformProvider: "aws@~> 2.0"
});
project.synth();
调整 terraformProvider 属性并运行下列命令:
npm install @cdktn/provider-project@latest
npx projen
pnpm install
这将产生一个准备出版的整个存储器,包括用于出版国家预防机制、Pypi和maven软件包的Github Workflows。 只需手工设定这些登记册的标志:
NPM_TOKEN(仅在npmTrustedPublishing错误; cdktn- io 提供者寄存器通过 OIDC 发布, 不持有 npm 令牌)TWINE_PASSWORD编号 :TWINE_USERNAME(仅在pypiTrustedPublishing错误)MAVEN_GPG_PRIVATE_KEYMAVEN_GPG_PRIVATE_KEY_PASSPHRASEMAVEN_PASSWORDMAVEN_USERNAME
更新现有的提供者
在此将所需的修改提交到此寄存器中, 并等待自动释放 。 发布后,可以在目标提供者仓库中运行以下命令:
npm install @cdktn/provider-project@latest
npx projen
pnpm install
提交、 推动和检查自动释放版本 .
折旧旧软件包版本
折旧已出版的版本是手册,由维护者驱动的步骤. 用于携带自动的发布工作流程 deprecate 运行的工作 npm deprecate 在每次释放被腐烂的提供者之后; 它被删除,因为提供者储存库不再持有 NPM_TOKEN (npm出版使用 OIDC 信任的出版,无法授权) npm deprecate) (中文(简体) ).
-
无:在软件包上拥有出版权的维护者运行, 本地:
npm deprecate <pkg>@"<range>" "<message>"譬如说.
npm deprecate @cdktn/provider-random@"<12.0.0" "See https://cdktn.io/docs/concepts/providers#import-providers for how to generate the bindings locally."。空信件("")取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取出. -
PyPI 密码:没有折旧机制(pypi/ 仓库# 345) (中文(简体) ). 仅限发布。 不要按住他们,因为Pip 然后跳过他们的任何要求 不是准确的
==针. README(在PyPI项目页面上发回)中的去向通知是信号. -
走开: 仍然自动化 -- -- 标记的提供者
isDeprecated获得一个// Deprecated:预定于go.mod在GO发布工作期间. -
马文/ 努格特:没有自动路径; NuGet只通过nuget.org web UI支持去化.
发展
下游需要改变的一切 提供者存储器 应当通过 代码定义 在这里.
为了地方发展, pnpm 链接 也许对测试很有帮助.