Fora Mac por Xcode: loka konstruado, fora konstruado aŭ ekrandivido?
Muntita laborspaco kaj fora Xcode movas malsamajn datumojn. Decidu, kie loĝas la fonto, la indekso kaj la konstruo, poste mezuru la rondvojaĝojn.
Kunhavigi projekton tra la reto ne translokas Xcode, ĉar la aplikaĵo daŭre ruliĝas sur via Mac kaj daŭre petas projektajn datumojn de la servilo. Ruli Xcode sur la fora Mac kaj vidi ĝian ekranon estas malsama aranĝo, kie la aplikaĵo kaj ĝiaj dosieroj restas kune kaj la ligilo portas nur la ekranon kaj vian enigon. Decidi, kiun el ili vi volas, antaŭ ol agordi ion ajn, solvas plejparton de la posta konfuzo.
Tri aranĝoj kovras la kutimajn kazojn, kaj ili diferencas laŭ tio, kie loĝas la laborspaco kaj kiu maŝino kompilas. Skribu vian respondon pri ambaŭ punktoj antaŭ ol daŭrigi.
Nomu la maŝinon, kiu rulas Xcode
En la unua aranĝo ĉio estas loka: la labora kopio, la indekso kaj la konstruo ĉiuj loĝas sur via Mac, kaj la reto portas nur trafikon de deponejo kaj dependaĵoj. En la dua la projekto restas sur la fora Mac kun Xcode, do indeksado kaj kompilado okazas apud la dosieroj dum la ligilo portas ekranan enhavon kaj klavopremojn. En la tria la redaktado okazas loke kaj konstruo ruliĝas sur fora gastiganto post eksplicita transdono de la fonto. La tabelo nomas, kion ĉiu el ili movas.
| 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 |
Unue legu la mezan kolumnon, ĉar ĝi decidas, kie aperos paneoj. Laborfluo, kies fonto estas fora, paneas kiam la ligilo estas malrapida, dum laborfluo kun fora kompililo paneas kiam la transdono estas duba. Nur la tria respondecigas vin pri ambaŭ.
Kalkulu la rondvojaĝojn, ne la megabajtojn
Redaktilo kaj indeksilo elsendas multajn malgrandajn dosierajn operaciojn, kaj ĉiu fariĝas rondvojaĝo kiam la dosiersistemo estas fora. Tio igas muntitan laborspacon senteman al latenteco tiel, kiel unu granda kopio ne estas, tial mezuri la tempon de dosiertransigo preskaŭ nenion diras pri tio, kiel sentiĝas la laborfluo. Fora ekrano havas la kontraŭan profilon: ĝi movas kontinuan fluon kaj toleras trairon pli bone ol malfruiĝon. Kompari la du per unu nombro produktas memfidan malĝustan respondon.
Neniu aranĝo estas la plej rapida laŭ naturo. La ĝusta elekto dependas de la laboro, kiun vi efektive faras, tial la sekva paŝo estas provi tiun laboron anstataŭ etalono.
Faru la fonttransdonon eksplicita
Kiam ambaŭ maŝinoj tenas laboran kopion, decidu, kiu estas aŭtoritata kaj kiun revizion la fora konstruo uzis. Komito estas pli klara transdono ol du iloj redaktantaj unu muntitan laborarbon, ĉar la komito havas identecon kaj la munto ne. Generita eligo kaj indeksaj datumoj ankaŭ bezonas posedanton, ĉar ili estas rekonstruitaj el la fonto kaj ne devus vojaĝi kvazaŭ ili estus fonto. Dulanda spegulo sen konfliktaj reguloj ne estas laborfluo, ĝi estas vetkuro.
Konstrui fore ankaŭ postulas ke la fora gastiganto havu la ĝustan ilaro-ĉenon kaj la legitimilojn por privataj dependaĵoj. VPN, kiu ebligas al vi atingi la gastiganton, ne pruntedonas al ĝi vian kontan aliron, kaj ĝi ne instalas Xcode tie.
Kontrolu la vojon antaŭ ol vin ligi al laborfluo
Kontrolu la foran gastiganton antaŭ ol desegni ĉirkaŭ ĝi, poste mezuru la ligilon per la operacioj, kiujn la laborfluo efektive faros. La subaj komandoj kontrolas la ilaro-ĉenon, la aktivan programistan dosierujon kaj la koston de dosiera observado, kiu igas forajn laborspacojn dolora. Rulu la lastan laŭ la reta vojo anstataŭ loke.
xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain
Gastiganto sen kompleta Xcode-instalaĵo redonas eraron de xcodebuild, kaj tio estas problemo de ilaro-ĉeno, ne de reto. La programista dosierujo montras, kiun Xcode la konstruo uzos, kaj vojo montranta nur la komandliniajn ilojn signifas, ke la aplikaĵo ne estas instalita. Mezuri la tempon de la deponeja statkomando tra la muntita kunhavigo malkaŝas rekte la koston de la rondvojaĝo, kaj kompari ĝin kun loka rulo donas la nombron, kiu gravas. Se tiu breĉo jam estas malagrabla, la laborfluo kun muntita laborspaco estos pli malbona sub vera redaktilo.
Notu, kiun aranĝon vi elektis, kiu maŝino posedas la fonton kaj kiel funkcias la transdono. Tiu noto igas la sekvan enkondukon aŭ tekokomputilan anstataŭigon agorda tasko anstataŭ esploro.