Go言語でポータブルなCI/CDパイプラインが定義可能に。「Dagger」がGo SDKを発表

2022年10月26日

CI/CDパイプラインをポータブルにする「Dagger」をGo言語に対応させる「Go SDK」が発表されました。これによりGo言語でどこでも動くポータブルなCI/CDパイプラインの定義が可能になります。

CI/CDがローカルPCでもGitHubでもCircleCIでも実行可能

Daggerはソフトウェアのビルド、テスト、デプロイを行う一連のCI/CDパイプラインをポータブルにするためのツールです。Dockerの創始者であるSolomon Hykes氏らが中心となってオープンソースとして開発されています。

参考:Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に

一般に、例えばGitHubを利用して構築したCI/CDパイプラインがあったとして、それをローカルで再現しようとする場合、もしくはJenkinsやCircleCIやGitLabなどの別のツールやサービスを用いて再構築しようとする場合、設定ファイルなどの大幅な書き換えや作り直しをせざるを得ません。

しかしDaggerでCI/CDパイプラインを定義すれば、そのまま定義を書き換えることなくローカルのPCやサーバで実行可能なだけではなく、GitHubやCircleCIなどの主要なCI/CDサービスの上でも実行可能になります。

これにより、CI/CDパイプラインが特定のツールやサービスにロックインされることがなくなります。また、開発者は開発チームのCI/CDパイプラインと同じものを簡単に手元のローカルPCで再現することや、逆にローカルのCI/CDパイプラインをサービス上に大規模に展開することなどができるようになります。

このDaggerのポータビリティを実現する技術として使われていたのが、Googleが開発した設定記述向けのプログラミング言語「CUE」と、さまざまなアクションをDockerコンテナとして実行するためのビルドツールとなる「BuildKit」です。

CUE言語の代わりにGo言語でCI/CDパイプラインを定義

今回発表されたGo SDKは、CUE言語の代わりにGo言語でCI/CDパイプラインの定義を可能にするものです。

これによりCI/CDパイプラインを、プログラマにとって分かりやすく、しかも普段使っているエディタなどで扱いやすいプログラミング言語で記述できるようになります。

Solomon Hykes氏は「私たちの最終的な目標は、すべての開発者がコードを書いて開発するのと同じやり方でCI/CDパイプラインも開発できるようにすることだ」(Our ultimate goal is to ensure all developers can develop their CI/CD pipelines in the same way they develop the rest of their code. )とブログでコメントしており、今後他のプログラミング言語のSDKも提供していく意向を明らかにしました。

あわせて読みたい

CI/CD DevOps 開発ツール




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本