将您的插件发布到 RubyGems.org
Logstash 使用 RubyGems.org 作为所有插件工件的存储库。 在您开发了新的插件后,可以通过将其发布到 RubyGems.org 来使其可供 Logstash 用户使用。
Logstash 及其所有插件均已获得 Apache License, version 2 ("ALv2") 许可。 如果您通过 RubyGems.org 公开您的插件,请确保在您的 gemspec 中包含以下行
s.licenses = ['Apache License (2.0)']
您需要在 RubyGems.org 上拥有一个帐户
创建帐户后,从 RubyGems.org 获取 API 密钥。 默认情况下,RubyGems 使用文件 ~/.gem/credentials
来存储您的 API 密钥。 这些凭据将用于发布 gem。 将 username
和 password
替换为您在 RubyGems.org 上创建的凭据
curl -u username:password https://rubygems.org.cn/api/v1/api_key.yaml > ~/.gem/credentials
chmod 0600 ~/.gem/credentials
在继续之前,请确保您的 gemspec 文件中包含正确的版本并提交您的更改。
s.version = '0.1.0'
要发布您的新 logstash gem 的 0.1.0 版本
bundle install
bundle exec rake vendor
bundle exec rspec
bundle exec rake publish_gem
注意
执行 rake publish_gem
- 从 gemspec 文件中读取版本 (
s.version = '0.1.0'
) - 检查本地存储库中是否存在该版本的标签。 如果该标签已存在,则中止该过程。 否则,它将在您的本地存储库中创建一个新的版本标签。
- 构建 gem
- 将 gem 发布到 RubyGems.org
就是这样! 您的插件已发布! Logstash 用户现在可以通过运行以下命令来安装您的插件
bin/plugin install logstash-output-mypluginname
其中 <plugintype> 是 input
、output
、filter
或 codec
,而 <mypluginname> 是您的新插件的名称。