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 上拥有一个帐户。
创建帐户后,请从 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> 是您的新插件的名称。