翻译:
用于 CI 管道 财务报告和审定财务报表 离线工具: 发表 网站 你建造,发送 应用程序模块(schema) 用于管理员审批的更改,验证本地显示并生成一个打入的客户端。 它没有运行时间依赖关系(Node.js ~ 20).
npx @enformik/cli --help
# or install it permanently:
npm install -g @enformik/cli # command: enformik
在自己的机器上与AI代理合作(开发一个模块,查看应用程序的结构,发布到一个开发站点)通过 远程 MCP 服务器 https://mcp.enformik.com/mcp:您将您的AI客户端连接到它,并在控制台上批准. CLI没有个人签注,也没有在你的机器上存储证书.
CI 全权证书
按先后次序排列:
- CI连接(建议,没有存储的秘密). 在控制台为寄存器创建 CI 连接( 您的应用程序 ) CI 连接)和设置
ENFORMIK_CI_RULE其编号。 CLI从CI提供商那里取取该工作的OIDC身份,交换地址为:ENFORMIK_OAUTH_URL最多15分钟的纪念品,只保留在记忆中:- GitHub 动作 : 任务需要
permissions: id-token: write(CLI读作:ACTIONS_ID_TOKEN_REQUEST_URL编号 :ACTIONS_ID_TOKEN_REQUEST_TOKEN) (中文(简体) ). - GitLab CI/CD: (英语) 定义
ENFORMIK_ID_TOKEN下级id_tokens与aud供听众使用ENFORMIK_AUDIENCE默认值https://oauth.enformik.com) (中文(简体) ). - Bitbucket 管道 : 添加
oidc: true(和观众在oidc.audiences)到该步骤;CLI读作BITBUCKET_STEP_OIDC_TOKEN。 。 。 . - 需要站点命令
ENFORMIK_ENVIRONMENT(网站环境 id; 如果连接目标为单个网站, 可选); 计划命令需要ENFORMIK_APP(应用程序 id) 并使用连接的工作空间, 除非ENFORMIK_WORKSPACE已经设定. - GitLab 工作 / Bitbucket 步骤的身份符可以交换 只有一次: 运行一个 Enformik 命令,每个任务(或步)都需要证书. GitHub 每一次交换都会发布一个新的身份标志.
- GitHub 动作 : 任务需要
- 现成的CI标志:
ENFORMIK_SITE_TOKEN编号 :ENFORMIK_APP_TOKEN,当工作自己完成交换时(控制台的 CI 连接示例这样做). - 无 OIDC 的 CI 退后( 如 Jenkins) :
ENFORMIK_DEPLOY_KEY(网站;控制台:开发者站点-部署密钥,有效期最长为90天)和ENFORMIK_CLIENT_ID+ 键ENFORMIK_CLIENT_SECRET(应用程序; 控制台: 您的应用程序 ; API 访问; 角色) Schema 升级器,或 Schema 构建器 (第一台安装).
地址: ENFORMIK_CONSOLE_URL (现场命令)和 ENFORMIK_APP_URL (司马令.
# GitHub Actions
permissions: { id-token: write, contents: read }
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- run: npx @enformik/cli@1 site deploy --dir dist
env:
ENFORMIK_CI_RULE: <CI connection id>
ENFORMIK_ENVIRONMENT: <website environment id>
ENFORMIK_CONSOLE_URL: https://console.enformik.com
enformik whoami 显示哪个证书达到了哪个目标(呼叫类、规则、拥有者、目标、范围、过期;如果有退后证书,它就这么说)。 它在本地解码CI标志 只用于诊断 并打印无秘密.
场地部署
所需经费: 开发者网站 必须在 Enformik 管理控制台中启用您的网站环境.
npx @enformik/cli site deploy --dir dist
诸如是否 index.html 位于根上,是否有隐藏文件(.env, (中文(简体) ), .git文件类型是否允许(可执行, .zip编号 :.iso 没有扩展名的文件被拒绝),是否检查大小/配位 上传前; 错误随文件路径显示。 如果捆绑中的文本文件包含一个秘密, 上传会停止; 您可以通过在其中列出文件来跳过一个错误的提醒 .enformikignore 在工程根中(每行一条路径, dir/ 前缀,无通配符). --expect-host <site-host> 防止部署到错误的地点。 成功后,将打印新版的地址.
Schema(模块)变化
npx @enformik/cli schema validate --manifest module.json # local, no credentials
npx @enformik/cli schema install --manifest module.json --yes # first installation (--dry-run: show only)
npx @enformik/cli schema diff --manifest module.json --check # exit code 2 if there are changes
npx @enformik/cli schema push --manifest module.json --yes
警告: 模块变化影响 所有工作空间 在申请中.
每次更改都交给管理员审批. schema install 财务报告和审定财务报表 schema push 不应用:整个清单作为提案保存,只有在管理员在应用程序(Modules-Protoces)中批准后才生效。 与署长作用的CI联系和API客户不能批准提案。 将角色,访问规则和脚本保留在出货单上;不要把它们分开. 检查结果为 enformik schema status。 。 。 .
schema validate 本地运行,无证书或网络:JSON, module.slug编号 :module.version,而各科管理员将密切审查(adminSections) (中文(简体) ). MCP 工具检查服务器自身的规则( 命名、 结构) schema_validate,或 schema diff 在中央情报局.
图标
| 命令 | 说明 |
|---|---|
schema validate | 在当地验证清单(没有证书,没有网络; --seed-data(中文(简体) ) |
codegen | 生成 TypeScript 类型和输入的数据客户端 module.json (单位:千美元)--out, (中文(简体) ), --check(中文(简体) ) |
schema diff | 将表与申请表中的表作比较( E)--check(中文(简体) ) |
schema install | 发送模块的首次安装供管理员批准( S)--dry-run, (中文(简体) ), --yes; 角色: Schema 构建器) |
schema push | 发送更改供管理员批准( E)--yes 在非互动环境中需要) |
schema status | 显示您上次发送的更改状态: 待决、 应用、 拒绝、 停滞或失败 |
site deploy | 公布已建网站(--dir, (中文(简体) ), --no-wait, (中文(简体) ), --timeout, (中文(简体) ), --expect-host(中文(简体) ) |
site status | 显示目标站点和现场发布( E)--expect-host(中文(简体) ) |
whoami | CI诊断:证明达到何种目标(无秘密) |
运行 enformik <command> --help 对于命令的使用。 错误的命令( E)enformik sitee --help)是一个错误,而不是一般的帮助.
全球旗帜 : --json, (中文(简体) ), --config, (中文(简体) ), --debug, (中文(简体) ), -h编号 :--help, (中文(简体) ), -v编号 :--version目标旗帜 : --console-url, (中文(简体) ), --app-url, (中文(简体) ), --workspace (覆盖环境变量).
--expect-host <host> 如果主机名称不同, 则停止操作: 在计划命令中, 它就是 应用程序的 主机, 单位 site deploy 财务报告和审定财务报表 site status 页:1 网站的 主持人.
退出代码
| 代码 | 含义 |
|---|---|
0 | 成功(包括无操作人员, --dry-run 财务报告和审定财务报表 --no-wait(中文(简体) ) |
1 | 错误: 输入、 验证、 证书、 拒绝的 CI 令牌交换、 服务器错误、 部署失败、 拒绝确认( 关闭的输入计数为 "否" ) 、 速率限制 |
2 | 没有错误 : schema diff --check 找到要应用的更改,或 codegen --check 发现文件已过时 |
JSON 输出
与 --json搭载 仅限 JSON(人可读取的文本去stderr),因此管道可以解析. 错误是 JSON 对象 error (稳定的代码)和 message,例如 unknown_command (带有 hint 以一个已废除的命令发誓, usage, (中文(简体) ), no_credentials, (中文(简体) ), ci_rule_denied, (中文(简体) ), ci_identity_missing, (中文(简体) ), rate_limited (与 status: 429 当服务器发送一个, retryAfterSeconds; CLI 不自行重试429)或 unexpected。一些命令将失败的结果报告为正常结果(拒绝的确认是 applied: false,失败或被拒绝的部署是 deployed: false 与 status, (中文(简体) ), error 或者说 issues); 在所有情况下,退出代码都是 1,所以在退出代码上的分支先读 error 再来.
环境变量
| 变量 | 用于 |
|---|---|
ENFORMIK_CI_RULE | CI connection id: CLI 将工作 OIDC 身份交换为短命符 |
ENFORMIK_OAUTH_URL | Enformik 令牌服务( 默认) https://oauth.enformik.com(中文(简体) ) |
ENFORMIK_AUDIENCE | CI 提供者身份标志的观众( 默认 ): ENFORMIK_OAUTH_URL(中文(简体) ) |
ENFORMIK_ENVIRONMENT | 网站环境 ID( 有 CI 令牌的站点命令) |
ENFORMIK_APP | 应用程序 id( 有 CI 连接的schema 命令) |
ENFORMIK_WORKSPACE | 工作空间 id( 否则 CI 连接的工作空间, 或是应用程序的默认) |
ENFORMIK_SITE_TOKEN, (中文(简体) ), ENFORMIK_APP_TOKEN | 现成的CI标志(工作本身是交换的) |
ENFORMIK_CONSOLE_URL, (中文(简体) ), ENFORMIK_DEPLOY_KEY | 控制台地址( 站点命令); 后退部署密钥 |
ENFORMIK_APP_URL, (中文(简体) ), ENFORMIK_CLIENT_ID, (中文(简体) ), ENFORMIK_CLIENT_SECRET | 应用程序地址( schema 命令); 倒置 API 客户端 |
ENFORMIK_ID_TOKEN | GitLab: 任务的身份标志( 定义于 id_tokens(中文(简体) ) |
ENFORMIK_LANG | tr 以土耳其语显示服务器提供的部署消息( 默认: 英语) |
优先是旗帜,然后是环境变量. 从旗子或配置文件中不会读出机密 .
.enformik/config.json (承诺存放)只持有项目布局: module.slug, (中文(简体) ), module.manifest, (中文(简体) ), site.dir, (中文(简体) ), codegen.out里面没有地址也没有秘密.
升级到1.0
1.0是一个破解放出:CLI现在只用于CI和离线工具.
- 删除的命令 :
auth login|status|logout, (中文(简体) ),env list|use|current|forget, (中文(简体) ),link, (中文(简体) ),ai init, (中文(简体) ),app check财务报告和审定财务报表mcp。使用远程 MCP 服务器(https://mcp.enformik.com/mcp在自己的机器上;app check这是它的app_check工具 和指南docs_*工具。 这个@enformik/mcp软件包已中止. - 删除了: 证书文件( R)
~/.config/enformik/credentials.json)和项目装订(.enformik/local.json);你可以删除它们。 全权证书env use被撤销. - 删除了旗帜和变量 :
--env编号 :ENFORMIK_ENV, (中文(简体) ),--docs-url编号 :ENFORMIK_DOCS_URL, (中文(简体) ),ENFORMIK_NO_STORED_CREDENTIALS, (中文(简体) ),ENFORMIK_CONFIG_DIR,以及schema validate --profile编号 :--offline(认证总是本地现在). - 已重命名 :
ENFORMIK_WORKSPACE_ID→ENFORMIK_WORKSPACE(旧名打印出警告并被忽略). .enformik/config.json不再读consoleUrl, (中文(简体) ),appUrl或者说workspaceId(一个要使用的变量的警告名称).- 新建: CI 连接( N)
ENFORMIK_CI_RULE),现成的CI代币(ENFORMIK_SITE_TOKEN, (中文(简体) ),ENFORMIK_APP_TOKEN(三);whoami描述 CI 符号 . - 部署密钥的有效期为90天;较长的密钥被缩短为90天.
警卫
- 机密从来不从命令行旗或项目文件读取(a)
.enformik/config.json他们只来自环境变量. - CI符号只保存在内存中;它们从未被写入磁盘或打印.
- 全权证书仅通过HTTPS发送(但
localhost;不遵循重定向.
详细指南:Enformik开发者文档中的"CLI"一页.