将您的插件发布到 RubyGems.org

将您的插件发布到 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 上拥有一个帐户。

创建帐户后,请从 RubyGems.org 获取一个 API 密钥。默认情况下,RubyGems 使用文件 ~/.gem/credentials 来存储您的 API 密钥。这些凭据将用于发布 gem。请将 usernamepassword 替换为您在 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

  1. 从 gemspec 文件读取版本 (s.version = '0.1.0')
  2. 检查您的本地存储库中是否存在该版本的标签。如果标签已存在,则中止该过程。否则,它会在您的本地存储库中创建一个新的版本标签。
  3. 构建 gem
  4. 将 gem 发布到 RubyGems.org

就是这样!您的插件已发布!Logstash 用户现在可以通过运行以下命令来安装您的插件:

bin/plugin install logstash-output-mypluginname

其中 <plugintype> 是 inputoutputfiltercodec,而 <mypluginname> 是您的新插件的名称。