マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Concourse CI

【OSS情報アーカイブ】Concourse CI

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Concourse CI」とは

「Concourse CI」基本情報

概要

Concourse CI(コンコース シーアイ)とは、パイプラインベースのCI/CD(継続的インテグレーション/デリバリー)ツールです。タスクの集まりをパイプラインとして記述することでビルドパイプラインを実行し可視化できます。

基本説明

Concourse CIの原則は、プロジェクトをCIの細部から切り離すプラクティスを奨励し、すべての設定をバージョンコントロールにチェックインできる宣言ファイルに保存することによって、Concourseとの切り替えのリスクを軽減します。

Concourse CIの主なポイント

・シンプル
・スケーラブル
・再現性
・軽量動作
・Dockerによる構築が容易
・操作はすべてCLI(Command Line Interface)ベース
・Go言語実装
・YAMLでジョブ/パイプラインを記述
・結果をGUIで視覚的に確認できる

同様ツール「Jenkins」との比較

Concourse CIは、「Jenkins」のように特定の個人に依存することがないため、特に、大規模分散化システムの自動化処理用プラットフォームとして利用できます。

経緯

Concourse CIは、Pivotal社が開発しています。

Pivotal社が提供しているPaaS(Platform as a Service)基盤「Cloud Foundry」において、Jenkinsでの設定が行われていましたが、大規模プロジェクトに対して対応しきれない部分が出てきたため、Concourse CIが開発され、単独のCI/CDツールとしてオープンソース化されました。

主な特徴

3つのコアコンセプト(タスク、リソース、ジョブ)

Concourse CIは、「タスク」「リソース」「ジョブ」の3つのコアコンセプトで構成されています。

「タイムドトリガー」や「外部環境の同期使用」などの機能は、レイヤーとしてではなく、これらの面でモデル化されています。

この抽象化機能により、あらゆるパイプラインのモデル化を行えます。

タスク

「タスク」とは、独立した環境(Dockerコンテナ)でスクリプトを実行し、依存するリソースを利用します。

各タスクはDockerコンテナ上で実行されるため、再現性の高いビルドが可能です。

リソース

「リソース」とは、「バージョンチェック」「プル(ダウンロード)」「プッシュ(アップロード)」できる抽象的な任意のエンティティです。

主なリソースとして、「Git Resource」「S3 Resource」「Docker Image Resource」などが用意されています。

この抽象化により、「リソースの再利用」や「リソースの独自実装」も容易に行なえます。

ジョブ

「ジョブ」では、従属リソースが変更された場合に実行するアクションを記述します。

例えば、「リポジトリに新しいコードがプッシュされるたびにユニットテストを実行する処理」などを定義します。

ジョブは、「自動的に実行される入力と出力を持つ関数」のようなもので、パイプライン機能の根幹である上流ジョブの出力に依存する可能性があります。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Jenkins」など。

オフィシャルサイト

オフィシャルサイト

→Concourse CI

ライセンス情報

Concourse CIのライセンスはApache License 2.0です。

詳細について、こちらを参照ください。
→GitHub →concourse-ci/LICENSE.md

ダウンロード

→Concourse CI →Downloads

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。