# Concourse Architecture {{#include ../../banners/hacktricks-training.md}} ## Concourse Architecture [**Concourse ドキュメントからの関連データ:**](https://concourse-ci.org/internals.html) ### Architecture ![](<../../images/image (187).png>) #### ATC: web UI & build scheduler ATCはConcourseの中心です。**web UIとAPI**を実行し、すべてのパイプラインの**スケジューリング**を担当します。**PostgreSQL**に接続し、パイプラインデータ(ビルドログを含む)を保存します。 [checker](https://concourse-ci.org/checker.html)の責任は、新しいリソースのバージョンを継続的にチェックすることです。[scheduler](https://concourse-ci.org/scheduler.html)はジョブのビルドをスケジュールする責任があり、[build tracker](https://concourse-ci.org/build-tracker.html)はスケジュールされたビルドを実行する責任があります。[garbage collector](https://concourse-ci.org/garbage-collector.html)は、未使用または古くなったオブジェクト(コンテナやボリュームなど)を削除するためのクリーンアップメカニズムです。 #### TSA: worker registration & forwarding TSAは**カスタムビルドのSSHサーバー**であり、[**workers**](https://concourse-ci.org/internals.html#architecture-worker)を[ATC](https://concourse-ci.org/internals.html#component-atc)に安全に**登録**するためだけに使用されます。 TSAは**デフォルトでポート`2222`**でリッスンし、通常は[ATC](https://concourse-ci.org/internals.html#component-atc)と同じ場所に配置され、ロードバランサーの背後にあります。 **TSAはSSH接続を介してCLIを実装し、**[**これらのコマンド**](https://concourse-ci.org/internals.html#component-tsa)をサポートします。 #### Workers タスクを実行するために、Concourseはワーカーを持つ必要があります。これらのワーカーは[TSA](https://concourse-ci.org/internals.html#component-tsa)を介して**自分自身を登録**し、[**Garden**](https://github.com/cloudfoundry-incubator/garden)と[**Baggageclaim**](https://github.com/concourse/baggageclaim)のサービスを実行します。 - **Garden**: これは**Container Manage API**で、通常は**ポート7777**で**HTTP**を介して実行されます。 - **Baggageclaim**: これは**Volume Management API**で、通常は**ポート7788**で**HTTP**を介して実行されます。 ## References - [https://concourse-ci.org/internals.html](https://concourse-ci.org/internals.html) {{#include ../../banners/hacktricks-training.md}}