Vzdálený Mac pro Xcode: místní sestavení, vzdálené sestavení, nebo sdílená obrazovka?
Připojený pracovní prostor a vzdálený Xcode přesouvají jiná data. Rozhodněte, kde žije zdroj, index a sestavení, a potom změřte oběhy.
Sdílení projektu po síti Xcode nepřesune, protože aplikace běží dál na vašem Macu a dál žádá server o data projektu. Spuštění Xcode na vzdáleném Macu a pohled na jeho obrazovku je jiné uspořádání, při kterém aplikace a její soubory zůstávají spolu a spojení přenáší jen obraz a váš vstup. Rozhodnutí, které z toho chcete, učiněné dřív než cokoli nakonfigurujete, vyřeší většinu pozdějšího zmatku.
Běžné případy pokrývají tři uspořádání a liší se tím, kde žije pracovní prostor a který stroj překládá. Než budete pokračovat, zapište si odpověď na oba body.
Pojmenujte stroj, který spouští Xcode
V prvním uspořádání je vše místní: pracovní kopie, index i sestavení žijí na vašem Macu a síť přenáší jen provoz úložiště a závislostí. Ve druhém zůstává projekt na vzdáleném Macu s Xcodem, takže indexování a překlad probíhají vedle souborů, zatímco spojení přenáší obsah obrazovky a stisky kláves. Ve třetím probíhá úprava místně a sestavení běží na vzdáleném hostiteli po výslovném předání zdroje. Tabulka pojmenovává, co které uspořádání přesouvá.
| Arrangement | Where the source lives | What crosses the link |
|---|---|---|
| Everything local | Local disk | Repository and dependency traffic |
| Remote Xcode, screen shared | Remote disk | Display frames and input events |
| Local edit, remote build | Both, with a handoff | Source transfer, then build output |
Přečtěte nejdřív prostřední sloupec, protože rozhoduje, kde se objeví selhání. Pracovní postup se vzdáleným zdrojem selže, když je spojení pomalé, zatímco pracovní postup se vzdáleným překladačem selže, když je předání nejednoznačné. Jen třetí vás činí odpovědným za obojí.
Počítejte oběhy, ne megabajty
Editor a indexer vydávají mnoho malých souborových operací a každá se stane oběhem, když je souborový systém vzdálený. To dělá připojený pracovní prostor citlivým na latenci tak, jak jedna velká kopie citlivá není, a proto měření času přenosu souboru neříká téměř nic o tom, jak pracovní postup působí. Vzdálený obraz má opačný profil: přenáší nepřetržitý tok a snáší propustnost lépe než zpoždění. Srovnání obou jediným číslem dává sebevědomou špatnou odpověď.
Ani jedno uspořádání není svou povahou nejrychlejší. Správná volba závisí na práci, kterou skutečně děláte, a proto je dalším krokem vyzkoušet tuto práci, ne měřítko.
Udělejte předání zdroje výslovným
Když oba stroje drží pracovní kopii, rozhodněte, která je autoritativní a kterou revizi vzdálené sestavení použilo. Commit je jasnější předání než dva nástroje upravující jeden připojený pracovní strom, protože commit má identitu a připojení ne. Vygenerovaný výstup a data indexu také potřebují vlastníka, protože se znovu sestavují ze zdroje a neměly by cestovat, jako by byly zdrojem. Obousměrné zrcadlení bez pravidel pro konflikty není pracovní postup, je to závod.
Sestavování na dálku také vyžaduje aby vzdálený hostitel měl správný nástrojový řetězec a přihlašovací údaje pro soukromé závislosti. VPN, které vám umožní dosáhnout hostitele, mu nepůjčí přístup k vašemu účtu a nenainstaluje tam Xcode.
Ověřte cestu, než se zavážete k pracovnímu postupu
Ověřte vzdáleného hostitele, než kolem něj začnete navrhovat, a potom změřte spojení operacemi, které pracovní postup skutečně provede. Níže uvedené příkazy kontrolují nástrojový řetězec, aktivní adresář pro vývojáře a cenu sledování souborů, která činí vzdálené pracovní prostory bolestivými. Poslední spusťte po síťové cestě, ne místně.
xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain
Hostitel bez úplné instalace Xcode vrací chybu z xcodebuild, a to je problém nástrojového řetězce, ne sítě. Adresář pro vývojáře ukazuje, který Xcode sestavení použije, a cesta ukazující jen na nástroje příkazového řádku znamená, že aplikace není nainstalovaná. Měření času příkazu stavu úložiště přes připojené sdílení přímo odhalí cenu oběhu a srovnání s místním během dá číslo, na kterém záleží. Pokud je tato mezera už nepříjemná, pracovní postup s připojeným pracovním prostorem bude pod skutečným editorem horší.
Zapište, které uspořádání jste zvolili, který stroj vlastní zdroj a jak předání funguje. Ta poznámka promění příští zaškolení nebo výměnu notebooku v konfigurační úkol místo vyšetřování.