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 info
、 docker build
、 docker run
、 docker login
、 docker push
自分のマシンでのやり方とまったく同じです。
共有ボリューム
走りたいなら docker
ビルドボリュームと共有ボリュームでは、ベースDockerコンテナー(ビルドが実行されているコンテナー)と共有されるボリュームのみを共有できることに注意してください。これはどのように docker
ボリューム共有を処理します。下のすべて /bitrise
ボリュームとしてマウントできますが、他のパスが動作することが保証されていません --volume
マッピング。
これは、標準パスを使用し、相対パスを使用してボリュームをマウントする場合、デフォルトのソースコードディレクトリが内部にあるため、期待どおりに機能することを意味します。 /bitrise
(デフォルトでは /bitrise/src
Dockerイメージ内)。
ただし、機能しないのは、ソースコードディレクトリを外部にあるように変更した場合です。 /bitrise
、または絶対パスが外部にあるフォルダをマウントしたい /bitrise
。