Android / Linux / Docker環境
BitriseのAndroidスタックは、Dockerイメージから作成されたLinuxベースの仮想マシンで実行されます。すべての画像ファイルはGitHubにあります。
標準を使用します Docker 画像、公開 岸壁、および関連 Dockerfile
これはGitHubで見つけることができます(以下を参照)。
Dockerfileとは何ですか?
NS Dockerfile
Dockerイメージ/環境を記述し、Dockerイメージを構築するために直接使用されるファイルです。
プレインストールされたツール
すべてのスタックには、多数のプリインストールされたツールが用意されています。 Bitriseスタックにプレインストールされたツール
現在、4つのDockerイメージがあり、それらは互いに積み重ねられています。
Bitriseベース画像 ((リンク)。
-
画像名ID:
quay.io/bitriseio/bitrise-base-20.04
。 -
Android以外のすべてのツールと環境設定が含まれています。
-
これは最小の画像であるため、ローカルでも使用する場合は、Android以外のプロジェクトでベース画像として使用するのに理想的です。
-
Ruby
、Go
、Python
、git
そしてその bitriseコマンドラインツール すべてプレインストールされており、すぐに使用できます。 -
OS:
Ubuntu 20.04
、64ビット。 -
関連するをチェックしてください
Dockerfile
どこ この画像には何がプリインストールされているかがわかります。
ベースのAndroid画像 ((リンク)。
-
画像名ID:
quay.io/bitriseio/android-20.04
。 -
Android固有のツールと環境でBitriseBaseイメージを拡張します。
-
複数のAndroidSDK、ビルドツール、システムイメージのバージョンがプリインストールされています。
gradle
とmaven
。 -
あなたは使用することができます
$ANDROID_HOME
プリインストールされたAndroidSDKの場所を指す環境変数。 -
関連するをチェックしてください
Dockerfile
どこ この画像には何がプリインストールされているかがわかります。
AndroidNDKイメージ ((リンク)。
-
画像名ID:
quay.io/bitriseio/android-ndk-20.04
。 -
ベースのAndroidイメージに基づいて構築され、最新のAndroidNDKで拡張されています。
-
あなたは使用することができます
$ANDROID_NDK_HOME
プレインストールされたAndroidNDKの場所を指す環境変数であり、$PATH
。 -
関連するをチェックしてください
Dockerfile
どこ この画像には何がプリインストールされているかがわかります。
すべてのビルドは新しい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
。