Bitrise の主要な概念
Bitrise uses Steps, Workflows and Pipelines to manage your CI/CD builds. It supports using Environment Variables and Secrets to store and access data. Everything is configured in a YAML format.
Bitrise は、ステップ、ワークフロー、パイプラインを使用してビルドを管理します。
-
ステップは個別のビルド タスクです。たとえば、リポジトリのクローン作成、単体テストの実行、インストール可能なバイナリの作成はすべて個別のビルド タスクです。
-
ワークフローは一連のステップです。Bitrise ビルドを実行すると、各ステップはワークフローで定義された順序で実行されます。
-
パイプラインは、複数のワークフローが関係する複雑なユースケース向けに、オプションのトップレベルのビルド構成を提供します。パイプラインはさまざまなステージで構成され、各ステージが複数のワークフローを並行して実行します。
構成は完全に定義されています。 bitrise.yml
Bitrise または独自のリポジトリに保存できるファイル。また、ビルドに使用されるインフラストラクチャも定義されます。Bitrise ビルドは、ほとんどのモバイル開発ユースケースに対応するプリインストールされたツールとサービスを備えたクリーンな仮想マシンで実行されます。これらは定期的に更新されるスタックによって定義されます。
手順とワークフロー
ワークフローは、順番に実行されるステップの集合です。この順序は、ワークフロー エディターで構成するか、 bitrise.yml
直接ファイルします。
各 Bitrise ビルドは少なくとも 1 つのワークフローを実行します。特定のワークフローをトリガーすることでビルドを開始できます。このようなビルドでは、ワークフローを連鎖させることができますが、それらは順番に実行されます。パイプラインでは、ワークフローはステージで編成され、各ステージでワークフローが並行して実行されます。
Bitrise に新しいアプリを追加すると、デフォルトのワークフローが自動的に作成されます。これらには、アプリのプラットフォームで最も頻繁に使用されるステップが含まれています。ステップはいつでもワークフローに追加または削除できます。ステップはステップ入力を介して構成でき、同じワークフロー内の後続のステップで使用できるデータを生成できます。
Bitrise ステップはオープンソースです。既存のステップの改善を提案したり、独自のステップを開発、共有、使用したりできます。
パイプライン
パイプラインにより、高度なユースケース向けの複雑な CI/CD 構成が可能になります。パイプラインは、順番に実行される複数のステージで構成され、各ステージは複数のワークフローを並行して実行します。
現時点では、パイプラインは、 bitrise.yml
アプリのファイル。ただし、パイプラインの一部であるワークフローは、ワークフロー エディターでも構成できます。
パイプラインを直接トリガーするようにビルド トリガーを構成できます。パイプラインがトリガーされると、ビルド マシンは最初のステージのすべてのワークフローの実行を開始します。
環境変数とシークレット
構成データやその他のデータは、環境変数と呼ばれるキーと値のペアに保存して使用できます。これにより、特に、複数の異なるアプリ間でビルド構成を再利用できるようになります。各アプリでは、同じキーを持つ環境変数に異なる値を保存できます。
環境変数にはさまざまなスコープがあります。アプリレベルおよびワークフローレベルの環境変数を構成できるだけでなく、ビルド中に新しい変数を作成して、これらをビルドの後続のステップやワークフローに渡すことができます。何らかの出力を生成する Bitrise ステップは、その出力を環境変数の形式で後続のステップで使用できるようにします。
シークレットは特定のタイプの環境変数です。シークレットは暗号化された形式で保存され、その値はビルド ログやファイルに公開されることはありません。 bitrise.yml
ファイル。彼らは
マシンとスタックを構築する
Bitrise ビルドは、ビルドが完了すると破棄されるクリーンな仮想マシンで実行され、コードのセキュリティが確保されます。ビルド マシンのタイプ、つまりオペレーティング システム (macOS または Linux) とマシンが提供するコンピューティング リソースの量を選択できます。
ビルド スタックは、ビルドを実行する VM にインストールされるツールとサービスを定義します。たとえば、Xcode スタックにはそれぞれ異なるバージョンの Xcode が付属しています。