Koristite razvojne kontejnere
Koristite razvojne kontejnere (dev container) za definiranje i konfiguriranje dosljednog razvojnog okruženja za vaš projekt među programerima i u automatiziranim sustavima za izgradnju ili testiranje.
Dev kontejnere možete pokretati lokalno ili na daljinu u oblaku za pokretanje aplikacija, za odvajanje alata, biblioteka ili okruženja za izvršavanje koje trebate pri radu s bazom koda ili za kontinuiranu integraciju i testiranje.
Okruženje razvojnog spremnika može se razlikovati od produkcijskog okruženja jer obično uključuje alate i uslužne programe potrebne tijekom razvoja koji nisu potrebni za konačno raspoređivanje.
Za potpunu specifikaciju i format datoteke devcontainer.json pogledajte dokumentaciju za Development Containers.
Napomena: Da biste ga koristili,omogućite dodatak Development Container Support.
Konfigurirajte razvojne kontejnere
Za konfiguraciju razvojnog spremnika za Qt Creator:
- Stvorite
devcontainer.jsondatoteku u direktoriju projekta. - Dodajte odjeljak
qt-creatorispodcustomizationsu datotekudevcontainer.json. - Koristite opcije prilagodbe opisane u ovoj temi za prilagodbu razvojnog spremnika.
Opcije prilagodbe za razvojne kontejnere
Sljedeća tablica prikazuje dostupne opcije za prilagodbu Qt Creator u datoteci devcontainer.json.
| Svojstvo | Tip | Opis |
|---|---|---|
auto-detect-kits | boolean | Postavite na true kako biste pokušali automatski otkriti komplet u razvojnom spremniku. |
run-processes-in-terminal | boolean | Postavite na true kako biste pokrenuli neke od procesa postavljanja razvojnog spremnika u prozoru terminala. Trenutno se koristi samo za docker build. |
copy-cmd-bridge | boolean | Postavite na true kako biste kopirali Command Bridge Helper, servis za komunikaciju s udaljenim uređajima, u razvojni spremnik umjesto pokušaja njegova montiranja. Ovo je korisno ako razvojni spremnik ne može montirati datotečni sustav domaćina. |
mount-libexec | boolean | Postavite na true kako biste montirali direktorij libexec u razvojni spremnik. Ovo se koristi za Command Bridge Helper. |
libexec-mount-point | string | Navedite točku montiranja za direktorij libexec u razvojnom spremniku. Ovo se koristi za Command Bridge Helper. |
kits | niz objekata | Navedite prilagođene komplete koji će se koristiti u razvojnom spremniku. |
Konfiguracija za tipični lokalni razvoj
Sljedeći primjer datoteke devcontainer.json pokazuje kako konfigurirati razvojni spremnik za tipičan tijek rada lokalnog razvoja. Omogućuje automatsko otkrivanje kompleta, montira direktorij libexec u spremnik i određuje točku montaže.
Ova je postavka korisna kada želite da Qt Creator automatski pronađe dostupne build kitove i osigura da su potrebni pomoćni alati iz direktorija libexec dostupni unutar kontejnera.
{
"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"
}
}
}
}Konfiguracija za prilagođene komplete i alatne lance
Sljedeći primjer konfiguracijske datoteke devcontainer.json pokazuje kako konfigurirati razvojni spremnik kada trebate koristiti određenu verziju Qt-a, kompajler ili alatni lanac unutar spremnika. To je korisno za unakrsno kompajliranje, podršku više konfiguracija izgradnje ili osiguravanje dosljednog razvojnog okruženja među timovima.
Ova konfiguracijska datoteka onemogućuje automatsko otkrivanje kit-a i umjesto toga definira prilagođeni kit pomoću svojstva kits. Kit specificira verziju Qt-a, putanje do kompajlera, CMake binarnu datoteku i generator te otkladač koji će Qt Creator koristiti unutar razvojnog spremnika.
Konfiguracijska datoteka također koristi neobavezno svojstvo cmake.variables za prosljeđivanje proizvoljnih CMake varijabli kada Qt Creator konfigurira projekt. Svaki ključ je naziv CMake varijable, a vrijednost može biti:
- Obični niz znakova
- Niz nizova (spojenih pomoću
;u jednu vrijednost CMake liste) - Objekt s poljem
valuei opcionalnim poljemtype(BOOL,STRING,FILEPATH,PATH,STATICiliINTERNAL). Tip se dodaje na CMake naredbeni redak kao-DVAR_NAME:TYPE=value.
{
"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",
"variables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_PREFIX_PATH": ["/opt/qt", "/usr/local"],
"BUILD_TESTING": {
"type": "BOOL",
"value": "OFF"
}
}
},
"debugger": "/usr/bin/lldb"
}
]
}
}
}Vidi također Omogući i onemogući dodatke i Kako: razvijati za 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.