米Daggerは、ソフトウェアのビルドやテスト、デプロイの自動化を可能にするワークフローエンジンである「Dagger Engine」の、bash構文フロントエンドである「Dagger Shell」を3月26日(現地時間)に発表した。「Dagger Shell」は、最新バージョンの「Dagger」をインストールして、「dagger」コマンドで呼び出せる。
Dagger Shellは、OSのシェルを置き換えることを目的としたものではなく、シェルを補完するためのツールであり、ワークフローが複雑すぎて通常のシェルに収まらない場合に、ワークフローを標準インターフェイスで構成されたシンプルなモジュールのコレクションに置き換えられる。
型付きオブジェクト、組み込みドキュメント、再利用できるモジュールのクロス言語エコシステムへのアクセスを提供するDagger APIクライアントであり、Daggerverse内の数多くのモジュールをロードして、APIの検査・関数の実行を可能にする。
コマンドは、サンドボックス化された関数として実行され、引数として明示的に指定された場合にのみ、ファイル、シークレット、サービスといったホストリソースにアクセスする。コマンドは多少冗長になるものの、繰り返し実行できるようになり、反復が容易になるというメリットがある。
さらに、Alpineコンテナが作成され、メッセージを含むテキストファイルがドロップされ、実行時にそのメッセージが表示されるように設定されて一時レジストリに公開される。すべてが1つのパイプラインにまとめられているので、Dockerfileの作成、ビルドコマンド、レジストリプッシュの間でコンテキスト切り替えは必要ない。
そのほか、サービスバインディングのネイティブサポートによって、テスト対象のソフトウェアをコンテナ化して、依存関係に接続することでテストが容易になるとともに、モジュール構文の使用による複雑なビルドワークフローの実装、パイプラインにおける各ステージの可視性と制御の維持、パイプラインの一部保存および再利用をすべて1回で実行可能になり、Dockerfileの編集、ビルド、プッシュコマンドの実行を交互に行う必要がなくなる。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です