JFrog CLIプラグインを開発・公開する
ソフトウェアアーティファクトの管理にJFrog DevOps Platformを使用している場合、クライアントとしてJFrog CLIを使っていることが多いでしょう。JFrog CLIは堅牢なツールであり、ビルドツールや自動化ツールと連携することで、JFrogプラットフォームの機能を強化・拡張します。JFrog CLIは自動化のために設計・構築されていますが、ターミナルを使うのが好きな方にとってはファイル、ビルド、メタデータについてArtifactoryに問い合わせるための便利なコマンドラインツールとしても機能します。
JFrog CLIプラグイン
JFrog CLIにJFrog CLIプラグイン(JFrog CLI Plugins)が追加されました。これは新しいコマンドを追加するためにインストールできる小さなアプリケーションで、誰でもプラグインを作成できます。既存の機能の拡張や独自機能の追加が自由にできます。新しく追加したコマンドはJFrog CLIで元々使えるコマンドと同様に、なくてはならない役割を担うでしょう。
プラグインで何ができるのか
プラグインではほとんど何でもできます。JFrog CLIのソースコードにはほとんどアクセスでき、新しいコード(自分で書いたコードまたは外部ライブラリからのコード)を使うこともできるので、実現できることに制限はほとんどありません。例えば、Artifactory用のカスタムアップロード・ダウンロードコマンドを作成したり、独自のクリーンアップポリシーを実装したり、既存のJFrog CLIコマンドの出力を変更したり、イシュートラッカーなどの他の製品と統合したり、リリース後にチームメンバーに通知を送信したり、アイデアは次々と浮かびます。
どうやってプラグイン開発をするのか
さて、皆さんここまででワクワクされているかもしれませんが、実際どのように実現するのかは疑問に思われるでしょう。ここではその方法を説明します。 JFrog CLIプラグインは独立したGoプロジェクトです。プロジェクトのソースコードはバイナリに組み込まれており、JFrog CLIはこのバイナリに統合されます。GitHubリポジトリにはいくつかプラグインの例があります。プラグインのソースコードは自分で保持し管理しているリポジトリを含め、任意のGitHubリポジトリでホストすることができます。
始め方
次に疑問に思われるのはプラグインのソースコードをどのようにしてJFrog CLIにインストール可能なプラグインに変更できるのかということでしょう。これはとても簡単なプロセスで実行できるので、その手順をご紹介します。
- バージョン1.14以上のGoとGitをインストールします。PATHが通っていることも確認してください。
- GitHubアカウントを作成します。
- https://github.com/jfrog/jfrog-cli-plugin-template.git にアクセスします。
- “Use this template”ボタンをクリックして新しいリポジトリを作成します。名前はお好みでつけてください。
- 作成したリポジトリをターミナルでローカルのマシンにクローンします。例えば次のように:
$ git clone https://github.com/me/my-amazingi-plugin.git - cdコマンドで今作成したリポジトリまで移動します。
- 次のコマンドでプラグインのビルドとテストをします。
$ go build -o hello-frog
$ ./hello-frog –help
$ ./hello-frog hello –help
$ ./hello-frog hello Yey!
これでお好みのIDEを使ってプロジェクトを開き、テンプレートを編集してオリジナルのプラグインを作成できます。
オリジナルプラグインのインストール
これでプラグインが独立したバイナリとして動作します。では、JFrog CLIにはどのようにインストールするのでしょうか。それには2つのオプションがあります。
オプション1: JFrog CLIのホームディレクトリ下の”plugins”ディレクトリ内に置くだけで、プラグインをインストールできます。ホームディレクトリのデフォルトの場所は ~/.jfrog ですが、環境変数 JFROG_CLI_HOME_DIR を使用して変更可能です。.jfrogの下に”plugins”ディレクトリがない場合は作成してください。JFrog CLIはこのディレクトリ内のプラグインを自動的に読み込みます。サポートしているのはJFrog CLI 1.41.2以上なので、古いバージョンを使用していないことを確認してください。
オプション2: コミュニティにもプラグインをインストールして使ってもらうためにJFrog CLIプラグインレジストリに追加することもできます。このレジストリに含まれているすべてのプラグインは次のJFrog CLIコマンドを使用してインストール可能です。
$ jfrog plugin install my-plugin-name
プラグインをパブリックなレジストリに追加する方法はドキュメントをご確認ください。
今回はここまでです。JFrog CLIプラグインを使用して構築した便利なツールをご利用いただき、他の方々とも共有いただけたら幸いです。さっそく、1つ目のJFrog CLIプラグイン作成を楽しんでください。