Logstash 使用 RubyGems.org 作为其所有插件构件的存储库。开发完新的插件后,您可以通过将其发布到 RubyGems.org 来使其供 Logstash 用户使用。
Logstash 及其所有插件均在 Apache 许可证 2.0 版 ("ALv2") 下获得许可。如果您通过 RubyGems.org 公开发布您的插件,请确保您的 gemspec 中包含以下行
-
s.licenses = ['Apache License (2.0)']
发布到 RubyGems.org
您需要在 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> 是您新插件的名称。