Skip to main content

Android / Linux / Docker環境

概要

BitriseのAndroidスタックは、Dockerイメージから作成されたLinuxベースの仮想マシンで実行されます。すべての画像ファイルはGitHubにあります。

標準を使用します Docker 画像、公開 岸壁、および関連 Dockerfile これはGitHubで見つけることができます(以下を参照)。

プレインストールされたツール

すべてのスタックには、多数のプリインストールされたツールが用意されています。 Bitriseスタックにプレインストールされたツール

すべてのビルドは新しいVMで実行されます。 新しいコンテナだけではありません。 VMはビルド直後に破棄されます。これにより、完全な制御が可能になります Docker そして環境全体。

Dockerベースのスタックでビルドが開始されると、ボリュームマウントが行われます。 /var/run/docker.sock コンテナにソケットを挿入します(呼び出しと同様) docker run -v /var/run/docker.sock:/var/run/docker.sock ...。このアクセス許可方法についての説明を見つけることができます ここ)。

NS docker dockerは単一バイナリソリューションから動的にロードされたコンポーネントへの移行を開始し、単純に共有するため、バイナリはベースDockerイメージ内にインストールする必要があります。 docker バイナリはもう十分ではありません。

すべてのDockerイメージにDockerをインストールするため、イメージを使用する場合、または独自のイメージをDockerイメージに基づいて使用する場合は、何もする必要はありません。

これは、あなたがにアクセスできることを意味します docker コンテナ内にあり、dockerを使用する他のツールを使用できます。 docker-compose。たとえば、を使用してWebサイトプロジェクトでテストやその他の自動化を構成および実行できます。 docker-compose

あなたは呼び出すことができます docker infodocker builddocker rundocker logindocker push 自分のマシンでのやり方とまったく同じです。

共有ボリューム

走りたいなら docker ビルドボリュームと共有ボリュームでは、ベースDockerコンテナー(ビルドが実行されているコンテナー)と共有されるボリュームのみを共有できることに注意してください。これはどのように docker ボリューム共有を処理します。下のすべて /bitrise ボリュームとしてマウントできますが、他のパスが動作することが保証されていません --volume マッピング。

これは、標準パスを使用し、相対パスを使用してボリュームをマウントする場合、デフォルトのソースコードディレクトリが内部にあるため、期待どおりに機能することを意味します。 /bitrise (デフォルトでは /bitrise/src Dockerイメージ内)。

ただし、機能しないのは、ソースコードディレクトリを外部にあるように変更した場合です。 /bitrise、または絶対パスが外部にあるフォルダをマウントしたい /bitrise