ignitify
的命令行工具 Ignitify 服务:创建、部署和运行任务。
安装
需要Node.js 22.13或更新版本。
npm install --global ignitify
ignitify --version
在CI中,或者对于一个命令,固定版本:
npx [email protected] whoami
如果安装失败 EACCES,请勿使用 sudo. 使用版本管理器安装Node.js,正如npm指南告诉你的: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
快速启动
ignitify login # sign this machine in
ignitify whoami # show your account, limits and usage
ignitify task:create hello # register a task and write its files
ignitify task:deploy hello # build it on the platform
ignitify task:run hello --wait # run it and print the result
命令
每个命令都是 <resource>:<verb>。运行 ignitify help 对于列表,和 ignitify <command> --help 用于一个命令的标志。完整的参考资料在 https://ignitify.dev/docs/cli (所有命令在一个表中: https://ignitify.dev/docs/cli/all).
| 集团 | 命令 |
|---|---|
| 任务 | task:create, task:list, task:get, task:delete, task:validate, task:pack, task:deploy, task:run |
| 集成 | integration:add |
| 部署 | deployment:list, deployment:get, deployment:logs, deployment:delete |
| 运行 | run:list, run:get, run:logs, run:delete, run:cancel |
| 虚拟机 | vm:list, vm:get, vm:delete |
| 秘密 | secret:set, secret:list, secret:delete |
| 日程安排 | schedule:list, schedule:cancel |
| 人则 | hook:create, hook:list, hook:delete, notify:set |
| 帐户及用途 | login, logout, whoami, quota, usage, usage:export, help |
全球标志: --json (标准输出一个JSON文档), -h, --help, -v, --version. 删除和取消命令也使用 -y, --yes (对于脚本,回答“是”)。
配置
| 变量 | 使用 |
|---|---|
IGNITIFY_API_KEY | 您的API密钥,用于CI。它战胜了保存的登录;当两者都存在时,CLI打印一个音符。 |
IGNITIFY_TASKS_DIR | 保存任务文件夹的文件夹。默认值: tasks。 |
NO_COLOR | 设置为任意值以关闭颜色。 |
在CI中,将API密钥放入CI密钥中,并将其作为 IGNITIFY_API_KEY。
密钥存储在哪里
ignitify login 保存密钥 $XDG_CONFIG_HOME/ignitify/credentials.json 当 XDG_CONFIG_HOME 是绝对路径,否则是in ~/.config/ignitify/credentials.json. 文件夹的模式为0700,文件的模式为0600。 ignitify logout 撤销密钥并删除文件。
退出代码
| 代码 | 意义 |
|---|---|
| 0 | 命令执行成功。 |
| 1 | 命令执行失败。命令行在stderr上打印错误。 |
| 130 | 您在等待期间按了Ctrl+C。 |
代码同下 npx, npm exec 和 npm run,因此,当命令失败时,CI步骤将失败。在npm脚本中,使用 npm run --silent 如果你不想要npm自己的错误行。
代理
命令行使用Node.js的代理设置。集 NODE_USE_ENV_PROXY=1 一起 HTTPS_PROXY (Node.js 22.21或更新版本):
NODE_USE_ENV_PROXY=1 HTTPS_PROXY=http://proxy.example.com:3128 ignitify whoami
更新
npm install --global ignitify@latest
CLI不会在后台检查更新。当服务需要更新的CLI时,CLI将在stderr上打印警告。
卸载
ignitify logout
npm uninstall --global ignitify
CLI除了凭据文件之外不保留任何数据,并且 ignitify logout 删除它。
平台
macOS和Linux(包括WSL)。Windows未被测试。
隐私
CLI不发送遥测信息。它只在您运行命令时向ignify API发送请求。每个请求命名CLI的版本。有两个命令也使用了公共的npm注册表: integration:add 运行NPM下载集成包 task:validate 向注册中心询问任务中每个集成的最新版本(当无法到达注册中心时,它将跳过此检查)。 ignitify login 还发送您的计算机名称,或您给的名称 --name,作为新密钥的标签。
版本控制
这个包遵循语义版本控制。公共界面是:命令名、标志、退出代码、 --json 输出, IGNITIFY_API_KEY, IGNITIFY_TASKS_DIR、凭据路径以及支持的Node.js版本。只有在新的主版本中才会出现打破其中一个的更改。
支持和安全
发送错误报告和安全报告给 [email protected],或使用 https://ignitify.dev/contact. 文档: https://ignitify.dev/docs。
永远不要将API密钥粘贴到报表中。
执照
CLI可以免费安装、运行和阅读,但它不是开源的:请参阅许可证以了解您可以做什么。命令写入您的项目中的文件是您可以使用、更改和共享的(许可证第2节)。此包中第三方代码的许可证在 ignitify-NOTICE.txt。