Projekta kopīgošana tīklā nepārvieto Xcode, jo lietotne turpina darboties jūsu Mac datorā un turpina pieprasīt serverim projekta datus. Xcode palaišana attālinātajā Mac datorā un tā ekrāna skatīšanās ir cits izkārtojums, kur lietotne un tās faili paliek kopā, un saite pārsūta tikai attēlojumu un jūsu ievadi. Lēmums, kuru no tiem vēlaties, pirms kaut ko konfigurējat, atrisina lielāko daļu vēlākā apjukuma.

Trīs izkārtojumi aptver parastos gadījumus, un tie atšķiras ar to, kur atrodas darbvieta un kura mašīna kompilē. Pirms turpināt pierakstiet savu atbildi uz abiem jautājumiem.

Nosauciet mašīnu, kas palaiž Xcode

Pirmajā izkārtojumā viss ir lokāls: darba kopija, indekss un būvēšana atrodas jūsu Mac datorā, un tīkls pārsūta tikai krātuves un atkarību trafiku. Otrajā projekts paliek attālinātajā Mac datorā kopā ar Xcode, tāpēc indeksēšana un kompilēšana notiek failu tuvumā, bet saite pārsūta ekrāna saturu un taustiņu nospiedumus. Trešajā rediģēšana notiek lokāli, un būvēšana tiek palaista attālinātā hostā pēc skaidras avota nodošanas. Tabula nosauc, ko pārvieto katrs no tiem.

ArrangementWhere the source livesWhat crosses the link
Everything localLocal diskRepository and dependency traffic
Remote Xcode, screen sharedRemote diskDisplay frames and input events
Local edit, remote buildBoth, with a handoffSource transfer, then build output

Vispirms lasiet vidējo kolonnu, jo tā izlemj, kur parādīsies kļūmes. Darbplūsma, kuras avots ir attālināts, neizdodas, kad saite ir lēna, bet darbplūsma ar attālinātu kompilatoru neizdodas, kad nodošana ir neviennozīmīga. Tikai trešā padara jūs atbildīgu par abām.

Skaitiet turp un atpakaļ braucienus, nevis megabaitus

Redaktors un indeksētājs izdod daudz mazu failu operāciju, un katra no tām kļūst par turp un atpakaļ braucienu, kad failu sistēma ir attālināta. Tas padara piemontētu darbvietu jutīgu pret aizturi tā, kā viena liela kopija nav, tāpēc faila pārsūtīšanas laika mērīšana gandrīz neko nepasaka par to, kā jūtas darbplūsma. Attālinātam attēlojumam ir pretējs profils: tas pārvieto nepārtrauktu plūsmu un labāk tolerē caurlaidību nekā aizturi. Abu salīdzināšana ar vienu skaitli dod pārliecinātu nepareizu atbildi.

Neviens izkārtojums nav dabiskā kārtā ātrākais. Pareizā izvēle ir atkarīga no darba, ko jūs patiešām darāt, tāpēc nākamais solis ir izmēģināt šo darbu, nevis etalonu.

Padariet avota nodošanu skaidru

Kad abas mašīnas tur darba kopiju, izlemiet, kura ir pilnvarotā un kuru versiju izmantoja attālinātā būvēšana. Komits ir skaidrāka nodošana nekā divi rīki, kas rediģē vienu piemontētu darba koku, jo komitam ir identitāte, bet piemontējumam nav. Ģenerētajai izvadei un indeksa datiem arī vajadzīgs īpašnieks, jo tie tiek pārbūvēti no avota un tiem nevajadzētu ceļot tā, it kā tie būtu avots. Divvirzienu spogulis bez konfliktu noteikumiem nav darbplūsma, tās ir sacīkstes.

Būvēšana attālināti arī prasa lai attālinātajā hostā būtu pareizā rīku ķēde un privāto atkarību akreditācijas dati. VPN, kas ļauj sasniegt hostu, neaizdod tam piekļuvi jūsu kontam, un tas tur neinstalē Xcode.

Pārbaudiet ceļu, pirms apņematies darbplūsmu

Pārbaudiet attālināto hostu, pirms projektējat ap to, pēc tam izmēriet saiti ar operācijām, ko darbplūsma patiešām veiks. Tālāk dotās komandas pārbauda rīku ķēdi, aktīvo izstrādātāja direktoriju un failu novērošanas izmaksas, kas padara attālinātas darbvietas sāpīgas. Palaidiet pēdējo pa tīkla ceļu, nevis lokāli.

xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain

Hosts bez pilnas Xcode instalācijas atgriež kļūdu no xcodebuild, un tā ir rīku ķēdes, nevis tīkla problēma. Izstrādātāja direktorija parāda, kuru Xcode izmantos būvēšana, un ceļš, kas norāda tikai uz komandrindas rīkiem, nozīmē, ka lietotne nav instalēta. Krātuves statusa komandas laika mērīšana pa piemontēto koplietojumu tieši atklāj turp un atpakaļ brauciena izmaksas, un salīdzinājums ar lokālu palaišanu dod skaitli, kam ir nozīme. Ja šī plaisa jau ir nepatīkama, darbplūsma ar piemontētu darbvietu būs sliktāka īsta redaktora apstākļos.

Pierakstiet, kuru izkārtojumu izvēlējāties, kura mašīna pārvalda avotu un kā darbojas nodošana. Šī piezīme pārvērš nākamo ievadīšanu darbā vai klēpjdatora nomaiņu konfigurācijas uzdevumā, nevis izmeklēšanā.

Saistītie raksti