このページのコンテンツ
要約
Buildkite is a continuous integration tool designed to improve software developer productivity. Buildkite product consists of three main components:
- Agent: Is a small, cross-platform build runner that is enables an enterprise to run its builds in their own infrastructure. Agents run on several platforms including Ubuntu, Debian, Mac, Windows, Docker, and others. Agents can only run one build job at one time.
- Pipelines: Are containers to define and model the build workflows and also to kick off post build steps.
- Deployments: These are steps that run after a build is complete and can be either triggered automatically or manually.
As a smaller company with limited resources, Buildkite has taken a strategy of using plug-ins to extend its functionality and to integrate with other software. It is unclear how many community plug-ins have been developed. However as on 3/10/2020 there are about 19 supported plug-ins provided by Buildkite.
Strengths
- Parallel Testing: One of the key value props for Buildkite is the ability to run parallel tests on builds, thus reducing test times from hours to minutes. Buildkite does this using its parallelism approach to spawn out multiple agents (e.g. several hundred parallel agents). With different tests running on a different agents. This massive parallel testing is possible due to the light weight build agent.
- Runs on-premises and on AWS infrastructure
- Agents can be deployed on multiple platforms.
- Pipelines as code: Ability to define complex pipelines in yml including running any scripts, tool or shell commands within the pipeline.
不足部分
- Buildkite is a point solution for continuous integration and currently lacks other critical DevOps steps such as Issue Management, Source Code Management, Security Testing etc. These capabilities require integrations with other tools.
- Security - Buildkite relies on third party providers for security testing. Calling third party code to launch security tests would require special scripts and execution of APIs from within Buildkite's pipeline definition.
- Lacks native support for an Artifact Repository. File paths to various artifacts have to be noted and maintained by users.
- Secrets management is possible but users have to either write plug-ins to standard secrets management products such as Hashicorp or write custom scripts to pull secrets from a secure storage and apply them at the right step in the build process.
- Collaboration features are limited to developers annotating comments inline within log files and other points of failure.
リソース
比較
機能 | ![]() | |
---|---|---|
共有Runner、または個別RunnerでのCI/CDが無料 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab.comが提供する共有Runnerを使用して、プライベートプロジェクトでは毎月2000分までのCI/CDを、パブリックプロジェクトでは時間無制限のCI/CDを無料で利用できます。さらに、より高速なビルド、時間無制限のビルド、特殊な要件などに対応するために個別Runnerをセットアップして使用することもできます。 | | |
統合されたCI/CD CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabにはCI/CD機能が統合されているので、CI/CDのために他のツールをインストールする必要はありません。GitLabのCI/CDを使用して、ウェブサイト(GitLab Pages)やウェブアプリケーションをビルド・テスト・デプロイできます。ジョブの結果はマージリクエストに表示され、簡単にアクセスできます。 | | |
CI/CD 水平自動スケール CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab CI/CDのクラウドネイティブなアーキテクチャでは、ワークロードが増加した場合に、新しいノードを追加することで簡単に水平方向にスケールできます。GitLab Runnerはパイプライン処理が開始されると、自動的に新しいコンテナを作成し、処理が完了して不要になったコンテナを削除します。これにより、CI/CDのコストを抑えることができます。. | | |
CI/CD パイプラインダッシュボード CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
プロジェクトやグループ全体のパイプラインの履歴と現在のステータスをユーザーごとにカスタマイズできる単一のダッシュボードで視覚化します。 | | |
HTML成果物をオンラインで表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
テストレポート、コード品質、コードカバレッジなどの情報を、 ダウンロードせずに、直接ブラウザで表示できます。 | | |
パイプラインをスケジュール実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
cronのように、パイプラインをスケジュール実行できます。 | | |
コード品質MRウィジェット CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
マージリクエストのウィジェットエリアに表示されるコード品質レポートにより、変更がコードの品質に与える影響を事前に知ることができます。 | | |
コード品質レポート CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
コード品質レポートは、パイプラインページで利用可能で、組織の推奨スタイルや基準を満たしていないコードの領域を表示します。 | | |
保護変数 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
権限のあるユーザーだけが変数の値を取得できるように、変数を保護することができます。 「保護変数」は「保護ブランチ」で実行されているジョブからだけ取得できます。 | | |
CI/CDの設定ファイルのパスを変更可能 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
プロジェクトのトップディレクトリにCI/CDの設定ファイルを置きたくない場合などに、設定ファイルのパスを独自に定義できます。 | | |
CI/CDジョブをWindowsで実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはWindowsをサポートしているので、ジョブをこのプラットフォームでネイティブに実行できます。 PowerShellやバッチファイルを活用することで、Windowsに基づくプロジェクトを自動で構築、テスト、デプロイすることが可能です。 | | |
macOSでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはmacOSをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、macOSベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
Linux ARMでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはARMアーキテクチャのLinuxをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、Linux ARMベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
FreeBSDでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはFreeBSDをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、FreeBSDベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
パイプラインのコードカバレッジを表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabでは、カスタマイズ可能な正規表現を使用してジョブの出力をパースして、SimpleCovのようなツールが生成するコードカバレッジを取得できます。 取得したデータはUIに自動的に表示され、HTMLページなどに埋め込むためのバッジとして使用することもできます。 | | |
GitLab CI/CDでの各コマンドの実行時間の詳細 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
他のCIシステムの中には、ジョブ全体の実行時間に加えて、各コマンドの実行時間を表示できるものがあります。 GitLabにも同様の機能を実装するための検討が行われています。 | | |
保護Runner CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
保護Runnerを使用すると、デプロイ用の秘密鍵のような、機密情報を保護することができます。 保護ブランチで実行されるジョブのみが、保護Runnerにアクセスできます。 | | |
最小限のCI/CDの設定 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab CI/CDは、Jenkinsのようなツールで同様のパイプラインを実行する場合と比べて、より少ない設定で済みます。 | | |
統合されたカスタムのプロジェクトテンプレート CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
新しいプロジェクトを作成するときは、いくつかの実用的なサンプルコードや CI が予め設定されている定義済みのテンプレートからプロジェクトを開始することができます。 さらに、グループを割り当ててカスタムのプロジェクトテンプレートを定義できます。このグループの子プロジェクトは、新しいプロジェクトを作成するときのテンプレートとして使用できます。 | | |
失敗したCIのジョブを自動で再実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
.gitla-ci.ymlに特別なキーワードを記述することで、GitLab CIでジョブが失敗した場合に、 指定の回数だけジョブを自動で再実行できます。 | | |
パイプラインのセキュリティ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
保護ブランチで実行されるCI/CDパイプラインに対して、定義したセキュリティルールが守られているかチェックできます。 パイプラインのセキュリティは、手動で作成したパイプライン、再実行したジョブ、手動アクションにも適用されます。 | | |
外部のCI定義ファイルをインクルード CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
複数のプロジェクトで共通なジョブのテンプレートとして再利用するために、 外部のCI定義ファイルをインクルードできます。 | | |
ブラウザーパフォーマンステスト CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
マスターにマージする前に、Web アプリケーションのパフォーマンスの低下を簡単に検出します。ブラウザのパフォーマンステストは Auto DevOps に含まれており、設定なしでルートページの自動的なパフォーマンス分析を提供します。 | | |
Load Performance Testing CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Easily detect performance regressions for software under load, prior to merging into master. | | |
CI/CDのログを折りたたんで表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
ジョブの各コマンドの出力ログを折りたたんで表示できます。 | | |
外部リポジトリ用のCI/CD CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabに、GitHubやBitbucketなどの外部サービスがホストしているあなたのプロジェクトを接続し、 GitLab CI/CDのパイプライン機能を活用し、アプリケーションを簡単に構築、テスト、開発しましょう。 | | |
GitHub用のCI/CD CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabにGitHubがホストするあなたのプロジェクトを接続し、GitLab CI/CDのパイプライン機能を活用し、 アプリケーションを簡単に構築、テスト、開発しましょう。 | | |
悪いテストを隔離 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
テストが失敗することを常態化させてはなりません。1クリックで不安定なテストや壊れたテストを一時的に蚊帳の外に置いて、テストをGreenな状態に保つことができます。 | | |
マージリクエストウィジェットにある JUnit テストの概要を確認する CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab を使用すると、マージリクエストウィジェットから JUnit テスト結果を表示できるので、変更による品質への影響に関する見解が得られます。 | | |
インタラクティブな Web ターミナル CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
インタラクティブな Web ターミナルを使用すると、実行中または完了済みの Kubernetes、Docker、Shell ランナージョブに接続し、コマンドを手動で実行して、システムで何が起こっているかをよりよく理解できます。 | | |
ファイルやパスに変更がある場合にのみジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
ジョブは、特定のファイルやパスに変更があった場合にのみ実行するように設定でき、実行を制御して、各コミットの変更に対して最適化された、より複雑なビルドパイプラインを実現できます。 | | |
Windows Container Executor CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この機能を使用すると、Linux ホスト上と同じように Windows 上で Docker コンテナを直接使用できます。これにより、Microsoft プラットフォームのユーザーは、より高度なパイプラインの調整と管理が可能になります。 | | |
パイプラインの削除 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
API またはパイプラインの詳細画面でパイプラインの削除が可能です。これにより、パイプラインで機密情報が漏洩したり、不要なパイプラインが多数作成されたり、パイプラインを削除する必要があるその他の問題が発生した場合にパイプラインを削除できます。 | | |
リポジトリ毎の複数のパイプラインを定義 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab では複数プロジェクトにまたがるビューを提供する複数プロジェクトのパイプラインがありますが、各パイプライン定義は特定のプロジェクトに関連付けられた YAML ファイルとして存在します。GitLab には今のところ 1 つの YAML ファイルに複数のパイプラインを定義する機能はありません。 | | |
monorepo の明示的なサポート CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
特定のパスやファイルに変更がある場合にのみジョブを実行する機能は、単一のレポに多くのマイクロサービスを含むモノレポをサポートします。 | | |
ファーストクラスのコンテナ作成 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
実装の詳細を定義する必要なく、CI/CD のジョブ中にコンテナを構築するように定義できる機能です。 | | |
コードリポジトリ内の任意のイベントでパイプラインを起動する CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
コードリポジトリで定義されたイベントが実行された時に、パイプラインやワークフローを起動できるようにします。 例えば、リポジトリやプロジェクトに新しいメンバーが追加された時に、ウェルカムメールを送信するワークフローを実行することができます。 | Through WebHooks | Supports 21 event triggers |
コードリポジトリアプリのエコシステム内の任意のイベントでパイプラインを起動する CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
コードリポジトリやそのリポジトリのエコシステムのアプリ拡張で定義されたイベントが実行されたときに、パイプラインやワークフローを開始できるようにします。 例えば、Slackインテグレーションでイベントが発生したときに、リポジトリの作業項目を更新します。 | Through WebHooks | |
コミュニティによるワークフロー (設定はコード化されているので共有可能) CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabのパイプライン(ワークフロー)はリポジトリ内でymlとして定義されており、アクションと同じように共有することができます。 | | |
あらゆるプラットフォーム、言語、クラウドに対応 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
あらゆるOSプラットフォーム、言語、クラウドプロバイダーで実行可能です。 | | |
設定、インフラの構築、パッチの適用は不要 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
SaaS型として提供されているので、ツールの設定、インフラの構築、メンテナンスを行うことなく、ソフトウェア開発やデリバリーのために利用できます。 | | |
プログラミング言語に基づいて実行するパイプラインを自動的に提案 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
プログラミング言語を検出し、実行するパイプラインのテンプレートを自動で提案し、ユーザーが迅速にパイプラインを実行できるようにします。 | | Auto Devops runs a pipeline, not just suggest one |
多くの定義済みパイプラインが付属 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
ベストプラクティスを集めた、多くの定義済みパイプラインを提供されているので、一般的なプログラミング言語、プラットフォームの各プロジェクトで簡単に利用を開始できます。 | | |
SDLCで使用される様々なツールとサービスを接続 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
さまざまなツールやサービスからのデータや出力を接続する、中心のハブとして使用することができます。 | | |
マトリックスビルド CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
ビルドを定義して実行する機能が組み込まれており、多数の入力変数に基づいて複数の並列ジョブやパイプラインを自動的に起動することができます。 例えば、3つのOS用と3つの異なるバージョン用のライブラリのビルドは、自動的に9つの並列ジョブで実行されます。 GitLabでは、マトリックスビルドを動的な子パイプラインを使って実装できます。 | | |
実行中のパイプラインのログのライブ表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
(パイプライン実行中に)ジョブのログをライブ表示できます。 | | |
すべてのジョブのログを横断的に検索 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
すべてまたは複数のジョブのログを一度に検索できます。 トラブルシューティングやジョブの出力のレビュー中に、エラーやその他のコンテンツをより効率的に検索できます。 | | browser search within the log at a time |
生のログを平文で表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
ログの平文を取得して、マークアップせずに表示したり、外部で使用したりできます。 | | |
リポジトリごとに複数のパイプライン CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
コードリポジトリごとに複数のパイプラインを定義して、異なるプロセスを異なる時間に実行できるようにしたり、1つのリポジトリ内に複数のアプリケーションがある場合に、アプリケーションごとに異なるビルドと処理を行うことを可能にします。 | | |
別のリポジトリでアクション/ジョブを参照する CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
パイプライン/ワークフローを参照し、実行されているリポジトリとは別のリポジトリのアクション/ジョブを使用できるようにします。 | | |
* このページの情報は最新ではありません。最新の情報は 公式サイト をご確認ください。