Basic TravisCI Information
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
TravisCIは、Github、Bitbucket、Assembla、Gitlabなどのさまざまなgitプラットフォームと直接統合されます。ユーザーにTravisCIが統合したいリポジトリにアクセスするための権限を与えるよう求めます。
例えば、Githubでは以下の権限を求めます:
user:email
(読み取り専用)
read:org
(読み取り専用)
repo
:公開およびプライベートリポジトリと組織のコード、コミットステータス、コラボレーター、およびデプロイメントステータスへの読み取りおよび書き込みアクセスを付与します。
TravisCIでは、他のCIプラットフォームと同様に、リポジトリレベルで秘密を保存することが可能で、これらは暗号化されて保存され、ビルドを実行するマシンの環境変数に復号化されてプッシュされます。
秘密が利用可能になるブランチを指定することが可能です(デフォルトではすべて)し、またTravisCIがログに表示された場合にその値を隠すべきか(デフォルトでは隠します)も指定できます。
各リポジトリに対して、TravisCIはRSAキーペアを生成し、プライベートキーを保持し、リポジトリにアクセスできる人々にリポジトリの公開鍵を提供します。
リポジトリの公開鍵にアクセスするには、次のようにします:
その後、このセットアップを使用して秘密を暗号化し、それを.travis.yaml
に追加できます。秘密はビルドが実行されるときに復号化され、環境変数でアクセス可能になります。
この方法で暗号化された秘密は、設定の環境変数にリストされないことに注意してください。
以前と同様に、TravisCIはファイルを暗号化し、ビルド中に復号化することも許可します:
注意:ファイルを暗号化する際、リポジトリ内に2つの環境変数が設定されます。
Travis CI Enterpriseは、Travis CIのオンプレミス版であり、あなたのインフラストラクチャ内にデプロイできます。Travis CIの「サーバー」版と考えてください。Travis CIを使用することで、あなたが望むように構成およびセキュリティを設定できる環境で、使いやすい継続的インテグレーション/継続的デプロイメント(CI/CD)システムを有効にできます。
Travis CI Enterpriseは2つの主要な部分で構成されています:
TCI サービス(またはTCIコアサービス)、バージョン管理システムとの統合、ビルドの認証、ビルドジョブのスケジューリングなどを担当します。
TCI ワーカーおよびビルド環境イメージ(OSイメージとも呼ばれます)。
TCIコアサービスには以下が必要です:
PostgreSQL11(またはそれ以降)のデータベース。
Kubernetesクラスターをデプロイするためのインフラストラクチャ;必要に応じてサーバークラスターまたは単一のマシンにデプロイできます。
セットアップに応じて、RabbitMQなどのコンポーネントを自分でデプロイおよび構成することを検討するかもしれません - 詳細についてはTravis CI Enterpriseの設定を参照してください。
TCIワーカーには以下が必要です:
ワーカーとリンクされたビルドイメージを含むDockerイメージをデプロイできるインフラストラクチャ。
特定のTravis CIコアサービスコンポーネントへの接続 - 詳細についてはワーカーの設定を参照してください。
デプロイされたTCIワーカーおよびビルド環境OSイメージの数は、あなたのインフラストラクチャにおけるTravis CI Enterpriseデプロイメントの総同時容量を決定します。