開発コンテナを使用する
開発コンテナ(devコンテナ)を使用して、開発者と自動ビルドまたはテストシステム間でプロジェクトの一貫した開発環境を定義および設定します。
開発コンテナは、アプリケーションの実行、コードベースで作業するときに必要なツール、ライブラリ、ランタイムの分離、または継続的インテグレーションとテストのために、ローカルまたはクラウドのリモートで実行できます。
開発コンテナ環境には、通常、最終的なデプロイには必要ない、開発時に必要なツールやユーティリティが含まれるため、デプロイ環境とは異なる場合がある。
完全な仕様とdevcontainer.json ファイル形式については、開発コンテナのドキュメントを参照してください。
注: 使用するには、Development Container Support プラグインを有効にします。
開発コンテナの構成
Qt Creator 用の開発コンテナを設定するには、以下の手順に従います:
- プロジェクト・ディレクトリに
devcontainer.jsonファイルを作成する。 devcontainer.jsonファイルのcustomizationsの下にqt-creatorセクションを追加する。- このトピックで説明するカスタマイズ・オプションを使用して、dev コンテナをカスタマイズします。
dev コンテナのカスタマイズ・オプション
次の表に、devcontainer.json ファイルのQt Creator をカスタマイズするために使用できるオプションを示します。
| プロパティ | タイプ | 説明 |
|---|---|---|
auto-detect-kits | boolean | true に設定すると、開発コンテナ内のキットの自動検出を試みます。 |
run-processes-in-terminal | boolean | true に設定すると、開発コンテナのセットアップ・プロセスの一部をターミナル・ウィンドウで実行する。現在はdocker build にのみ使用されています。 |
copy-cmd-bridge | boolean | true に設定すると、リモートデバイスと通信するためのサービスである Command Bridge Helper を、dev コンテナをマウントしようとするのではなく、dev コンテナ内にコピーする。これは、dev コンテナがホストのファイルシステムをマウントできない場合に役立つ。 |
mount-libexec | boolean | libexec ディレクトリを dev コンテナにマウントするには、true を設定する。これは Command Bridge Helper に使用される。 |
libexec-mount-point | string | dev コンテナ内のlibexec ディレクトリのマウントポイントを指定する。これは Command Bridge Helper で使用する。 |
kits | オブジェクトの配列 | dev コンテナで使用するカスタムキットを指定する。 |
一般的なローカル開発用の構成
以下のサンプルdevcontainer.json ファイルは、一般的なローカル開発ワークフロー用の dev コンテナの構成方法を示しています。キットの自動検出を有効にし、libexec ディレクトリをコンテナにマウントし、マウントポイントを指定しています。
この設定は、Qt Creator に利用可能なビルド・キットを自動的に検出させ、libexec ディレクトリから必要なヘルパー・ツールにコンテナ内でアクセスできるようにする場合に便利です。
{
"customizations": {
"qt-creator": {
"device": {
"auto-detect-kits": true,
"run-processes-in-terminal": false,
"copy-cmd-bridge": false,
"mount-libexec": true,
"libexec-mount-point": "/devcontainer/libexec"
}
}
}
}カスタム・キットおよびツールチェーン用の構成
次のサンプルdevcontainer.json ファイルは、コンテナ内で特定の Qt バージョン、コンパイラ、ツールチェーンを使用する必要がある場合の、開発コンテナの設定方法を示しています。これは、クロスコンパイル、複数のビルド構成のサポート、チーム間での一貫した開発環境の確保などに役立ちます。
この設定ファイルでは、キットの自動検出を無効にし、代わりにkits プロパティを使用してカスタムキットを定義します。キットは、Qt のバージョン、コンパイラのパス、CMake バイナリとジェネレータ、デバッガを指定し、開発コンテナ内のQt Creator で使用します。
{
"customizations": {
"qt-creator": {
"auto-detect-kits": false,
"kits": [
{
"name": "My DevContainer Kit",
"qt": "/6.7.0/gcc_64/bin/qmake6",
"compiler": {
"Cxx": "/usr/bin/c++",
"C": "/usr/bin/gcc"
},
"cmake": {
"binary": "/usr/bin/cmake",
"generator": "Unix Makefiles"
},
"debugger": "/usr/bin/lldb"
}
]
}
}
}プラグインの有効化と無効化およびHow toも参照してください :Docker 用の開発。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.