これは
初老丸 Advent Calendar 2018 第 2 日目の記事になる予定です.
tl;dr
先日, 作成した furikake について, 実際にギョームで使ってみて, 自分が欲しいなあと思った機能の追加や発見したバグ等をコツコツ修正しています.
furikake | RubyGems.org | your community gem host
ということで
トッピング機能
アドオン的な何か
詳細は README をご一読下さい.
カレントディレクトリに addons
ディレクトリを作成して, addons
ディレクトリ以下に Ruby スクリプトを放り込むと, Wiki に載せたいドキュメントを簡単に追加出来るようになってます. 尚, 以下のように furikake setup
を実行した際に addons
ディレクトリを作成するかどうか確認されますので, 合わせてご確認下さい.
$ bundle exec furikake setup [setup] creating .furikake.yml... [setup] .furikake.yml already exists. [setup] create `addons` directory? [y/n] y [setup] creating `addons` directory. [setup] `addons` directory created.
サンプル
以下 Ruby スクリプトの簡単なサンプルです. 変数 values
の [['value1', 'value2'], ['value3', 'value4']]
と変数 contents
のハッシュの構造だけを守っていただければ, お好きな情報を投稿することが可能になります.
module Furikake::Resources module Addons class Example def self.report(format = nil) values = [['value1', 'value2'], ['value3', 'value4']] contents = { title: 'Example', resources: [ { subtitle: '', header: ['Title1', 'Title2'], resource: values } ] } Furikake::Formatter.shaping(format, contents) end def self.get_resources # ここは頑張って実装する必要があります end end end end
addons
ディレクトリにスクリプトを放り込むことで, 従来は AWS のリソースのみに対応していたところを, Azure や GCP 等の他のクラウドリソース等も Wiki に一覧として投稿することが可能になったはずです.
デーモン小暮
従来は
以下のようにコマンドラインから実行することしか出来ませんでした.
bundle exec furikake publish
cron や Fargate のタスク機能を利用することで自動的に定期投稿は可能でした. (実際には試せていませんが...)
デーモン化により
以下のように実行することで, furikake publish
がバックグラウンドで実行されるようになります.
bundle exec furikake monitor --detach
定期的に (デフォルトは 3600 秒毎) リソースを一覧を取得して, 指定した wiki に情報を投稿します. この機能により, cron の設定等を行うことなくドキュメントの自動更新が可能となります.
有難うございます
デーモン化に伴い, 以下のコードをスーパー参考にさせて頂きました.
Ruby script testing to daemonize a ruby script. · GitHub
この場を借りまして, お礼を申し上げます. 有難うございます.
Docker 化
docker-compose を介して利用出来るように, 超簡単に Dockerfile を書き, docker-compose.yml を揃えました.
よろしければ, ご利用下さいませ.
リリースに octorelease を利用するようにしました
awspec でも利用させて頂いて, いい感じでリリースページを作ってもらえるので利用してみました.
以下のブログ記事が参考になります.
以上
furikake の更新情報でした. よろしければ, furikake を使って頂きましてフィードバック頂けると嬉しいです.