elastic-package 参考
elastic-package
是一个用 Go 编写的命令行工具,用于开发 Elastic 包。它可以帮助您进行 lint、格式化、测试、构建和提升您的包。
下载并构建最新的 elastic-package 二进制文件主干版本
git clone https://github.com/elastic/elastic-package.git make build
提示确保您已正确设置
$GOPATH
和$PATH
环境变量。elastic-package
必须可以从您的$PATH
访问。更改到正在开发的包的目录
cd my-package
运行
help
命令以查看可用命令elastic-package help
以下 elastic-package
命令可用。 有关特定命令的更多详细信息,请运行 elastic-package help <command>
。
某些命令具有全局上下文,这意味着您可以从任何地方执行它们。 其他命令具有包上下文; 这些命令必须从包根文件夹下的某个位置执行,并且该命令仅对该包的内容进行操作。
上下文:全局
使用此命令列出 elastic-package
下的所有可用命令,以及每个命令的简要说明。
上下文:包
使用此命令来构建一个包。目前,它只支持“集成”包类型。
构建的包存储在位于本地 Git 存储库检出根文件夹下的 “build/” 文件夹中,该存储库包含您的包文件夹。如果相应的模板文件存在于 _dev/build/docs/README.md
中,该命令还将呈现您的包文件夹中的 README 文件。您的包下的所有 _dev
目录都将被省略。
构建的包由本地运行的 Elastic Package Registry 提供(参见 “elastic-package stack”)。因此,如果您希望本地包由本地 Elastic Package Registry 提供,请确保首先使用 “elastic-package build” 构建该包。
您还可以将构建的包发布到全局包注册服务。
上下文:包
使用此命令来验证包在格式、验证和构建方面是否正确。
它将一次执行 format、lint 和 build 命令,按该顺序。
上下文:包
使用此命令来清理用于构建包的资源。
该命令将删除构建的包文件(在 build/ 中)、管理开发堆栈所需的文件(在 ~/.elastic-package/stack/development
中)和堆栈服务日志(在 ~/.elastic-package/tmp/service_logs
中)。
上下文:全局
使用此命令来创建一个新包或添加更多数据流。
该命令可以帮助使用嵌入的包模板来引导包的第一个草稿。 然后,您可以使用它来使用更多数据流来扩展包。
有关创建新包的详细信息,请查看 HOWTO 指南。
上下文:包
使用此命令导出与包相关的资产,例如 Kibana 仪表板。
上下文:包
使用此命令来格式化包文件。
格式化程序支持 JSON 和 YAML 格式,并跳过 “ingest_pipeline” 目录,因为它很难正确格式化 Handlebars 模板文件。 因此,格式化后的文件将被覆盖。
上下文:包
使用此命令在 Kibana 中上传并安装一个包。
从 Kibana 版本 8.7.0
开始,包不需要在包注册表中公开即可安装。 相反,它们可以作为使用 elastic-package build
命令构建的 zip 文件上传。
- 确保您已验证您的包。 在构建之前,通过运行
elastic-package check
命令来验证包。 - 使用
--zip
参数来安装特定的 zip 文件,或者使用install
命令来构建包并将构建的 zip 文件上传到 Kibana。
安装一个压缩包。 此方法依赖于包注册表。
elastic-package stack up -d
elastic-package install --zip /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip -v
构建并上传一个压缩包,而无需依赖包注册表。
elastic-package stack up -v -d
elastic-package install -v
可以通过以下变量自定义包安装以安装在其他 Kibana 实例中
ELASTIC_PACKAGE_KIBANA_HOST
ELASTIC_PACKAGE_ELASTICSEARCH_USERNAME
ELASTIC_PACKAGE_ELASTICSEARCH_PASSWORD
ELASTIC_PACKAGE_CA_CERT
例如
export ELASTIC_PACKAGE_KIBANA_HOST="https://test-installation.kibana.test:9243"
export ELASTIC_PACKAGE_ELASTICSEARCH_USERNAME="elastic"
export ELASTIC_PACKAGE_ELASTICSEARCH_PASSWORD="xxx"
# if it is a public instance, this variable should not be needed
export ELASTIC_PACKAGE_CA_CERT=""
elastic-package install --zip elastic_package_registry-0.0.6.zip -v
对于 Kibana <8.7.0
的版本,包必须通过包注册表公开。 在开发的情况下,这意味着包应先前已构建,然后必须启动 Elastic 堆栈。 或者,至少,需要在 Elastic 堆栈中重新启动 package-registry
服务
elastic-package build -v
elastic-package stack up -v -d
elastic-package install -v
- elastic-package stack up -v -d --services package-registry
要将包安装在 Kibana 中,该命令使用 Kibana API。 必须通过 Elastic Package Registry 公开该包。
上下文:包
使用此命令,通过包规范(请参见:https://github.com/elastic/package-spec)验证包的内容。
该命令确保包与包规范对齐,并且 README 文件是其模板(如果存在)的最新版本。
上下文:全局
使用此命令来添加、删除和管理多个配置配置文件。
单个用户配置文件显示在 ~/.elastic-package/stack 中,并包含 “stack” 子命令所需的所有配置文件。 创建新配置文件后,可以使用 -p 标志或 ELASTIC_PACKAGE_PROFILE 环境变量指定它。 用户配置文件不会在 elastic-stack 升级时被覆盖,并且可以自由修改以允许不同的堆栈配置。
上下文:全局
使用此命令将包在 Elastic Package Registry 的 snapshot、staging 和 production 阶段之间移动。
此命令主要供管理员使用。
它允许选择要提升的包,并打开新的 pull 请求以供查看更改。 但是,请注意,该工具会检出一个内存中的 Git 存储库并切换分支(快照、暂存和生产),因此提升大量包可能需要更长的时间。
上下文:包
使用此命令发布新的包修订版本。
该命令检查包是否已发布(无论它是否存在于快照/暂存/生产分支中,还是作为 pull 请求打开)。 如果尚未发布包修订版本,它将打开一个新的 pull 请求。
上下文:包
使用此命令启动可以使用包观察到的服务堆栈。
该命令管理为包(_dev/deploy
)定义的服务堆栈的生命周期,以用于包开发和测试目的。
上下文:全局
使用此命令启动一个基于 Docker 的 Elastic Stack,该堆栈由 Elasticsearch、Kibana 和 Elastic Package Registry 组成。 默认情况下,将启动 Elastic Stack 的最新发布版本,但可以指定不同的版本,包括 SNAPSHOT 版本。
有关将服务连接到 Elastic Stack 的详细信息,请参阅 service 命令。
上下文:包
使用此命令显示包的当前部署状态。
如果指定了包名称,则返回有关该包的信息。 否则,此命令会检查当前目录是否为包目录并报告其状态。
上下文:包
使用此命令在包上运行测试。 目前,以下类型的测试可用
这些测试确保您的包定义的所有 Elasticsearch 和 Kibana 资产都按预期加载。
有关为包运行资产加载测试的详细信息,请参见 HOWTO 指南。
这些测试允许您执行您的包定义的任何 Ingest Node 管道。
有关如何为包配置管道测试的详细信息,请查看 HOWTO 指南。
这些测试允许您验证包的所有静态资源是否有效,例如,sample_event.json 的所有字段是否都有文档记录。
有关为包运行静态测试的详细信息,请参见 HOWTO 指南。
这些测试允许您测试包端到端的数据摄取能力。
有关配置和运行系统测试的详细信息,请查看 HOWTO 指南。
上下文:包
使用此命令来卸载 Kibana 中的包。
要卸载 Kibana 中的包,该命令使用 Kibana API。 必须通过 Elastic Package Registry 公开该包。
上下文:全局
使用此命令打印您已安装的 elastic-package 的版本。 在报告错误时,此命令特别有用。