Mac ya mbali kwa Xcode: ujenzi wa ndani, ujenzi wa mbali au kushiriki skrini?
Nafasi ya kazi iliyopachikwa na Xcode ya mbali husafirisha data tofauti. Amua mahali chanzo, faharasa na ujenzi vinaishi, kisha pima safari za kwenda na kurudi.
Kushiriki mradi kupitia mtandao hakusogezi Xcode, kwa sababu programu inaendelea kufanya kazi kwenye Mac yako na inaendelea kuomba seva data ya mradi. Kufanya Xcode ifanye kazi kwenye Mac ya mbali na kutazama skrini yake ni mpangilio tofauti, ambapo programu na faili zake hukaa pamoja na kiungo hubeba tu onyesho na uingizaji wako. Kuamua ni ipi kati ya hizo unayotaka, kabla ya kusanidi kitu chochote, hutatua sehemu kubwa ya mkanganyiko wa baadaye.
Mipangilio mitatu hushughulikia hali za kawaida, na hutofautiana katika mahali nafasi ya kazi inaishi na mashine ipi inakusanya. Andika jibu lako kwa hoja hizo mbili kabla ya kuendelea.
Taja mashine inayoendesha Xcode
Katika mpangilio wa kwanza kila kitu ni cha ndani: nakala ya kazi, faharasa na ujenzi vyote vinaishi kwenye Mac yako, na mtandao hubeba tu trafiki ya hazina na tegemezi. Katika wa pili mradi hubaki kwenye Mac ya mbali pamoja na Xcode, kwa hiyo uorodheshaji na ukusanyaji hufanyika kando ya faili huku kiungo kikibeba maudhui ya skrini na mibonyezo ya vitufe. Katika wa tatu uhariri hufanyika ndani na ujenzi huendeshwa kwenye mwenyeji wa mbali baada ya uhamisho wa wazi wa chanzo. Jedwali hutaja kila mmoja husogeza nini.
| 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 |
Soma safu ya kati kwanza, kwa sababu ndiyo inayoamua wapi kushindwa kutaonekana. Mtiririko wa kazi ambao chanzo chake ni cha mbali hushindwa kiungo kinapokuwa polepole, wakati mtiririko wa kazi wenye mkusanyaji wa mbali hushindwa uhamisho unapokuwa hafifu. Ni wa tatu pekee unaokufanya kuwajibika kwa vyote viwili.
Hesabu safari za kwenda na kurudi, si megabaiti
Kihariri na kiorodheshaji hutoa shughuli nyingi ndogo za faili, na kila moja huwa safari ya kwenda na kurudi wakati mfumo wa faili uko mbali. Hilo hufanya nafasi ya kazi iliyopachikwa iwe nyeti kwa ucheleweshaji kwa namna ambayo nakala moja kubwa haiko, ndiyo sababu kupima muda wa uhamishaji wa faili hakuambii karibu chochote kuhusu jinsi mtiririko wa kazi unavyohisi. Onyesho la mbali lina mwonekano kinyume: husafirisha mtiririko endelevu na huvumilia upitishaji bora kuliko ucheleweshaji. Kulinganisha vyote viwili kwa nambari moja hutoa jibu lisilo sahihi kwa ujasiri.
Hakuna mpangilio ulio wa haraka zaidi kwa asili. Uchaguzi sahihi hutegemea kazi unayofanya kweli, ndiyo sababu hatua inayofuata ni kujaribu kazi hiyo badala ya kipimo cha marejeleo.
Fanya uhamisho wa chanzo uwe wazi
Wakati mashine zote mbili zina nakala ya kazi, amua ipi yenye mamlaka na toleo gani ujenzi wa mbali ulitumia. Commit ni uhamisho ulio wazi zaidi kuliko zana mbili zinazohariri mti mmoja wa kazi uliopachikwa, kwa sababu commit ina utambulisho na upachikaji hauna. Matokeo yanayozalishwa na data ya faharasa pia yanahitaji mmiliki, kwa sababu hujengwa upya kutoka chanzo na hayapaswi kusafiri kana kwamba ni chanzo. Kioo cha pande mbili bila sheria za mgongano si mtiririko wa kazi, ni mashindano.
Kujenga kwa mbali pia kunahitaji mwenyeji wa mbali awe na mnyororo sahihi wa zana na vitambulisho vya tegemezi za kibinafsi. VPN inayokuruhusu kufikia mwenyeji haikukopeshi ufikiaji wa akaunti yako na haiweki Xcode hapo.
Kagua njia kabla ya kujitolea kwa mtiririko wa kazi
Thibitisha mwenyeji wa mbali kabla ya kuunda kazi kuzunguka, kisha pima kiungo kwa shughuli ambazo mtiririko wa kazi utafanya kweli. Amri zilizo hapa chini hukagua mnyororo wa zana, saraka hai ya msanidi na gharama ya uangalizi wa faili inayofanya nafasi za kazi za mbali kuwa chungu. Endesha ya mwisho kupitia njia ya mtandao badala ya ndani.
xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain
Mwenyeji asiye na usakinishaji kamili wa Xcode hurudisha hitilafu kutoka xcodebuild, ambayo ni tatizo la mnyororo wa zana badala ya mtandao. Saraka ya msanidi huonyesha Xcode ambayo ujenzi utatumia, na njia inayoelekeza kwenye zana za mstari wa amri pekee inamaanisha programu haijasakinishwa. Kupima muda wa amri ya hali ya hazina kupitia ugao uliopachikwa kunaonyesha moja kwa moja gharama ya safari ya kwenda na kurudi, na kulinganisha na uendeshaji wa ndani kunatoa nambari muhimu. Ikiwa pengo hilo tayari ni la kusumbua, mtiririko wa kazi wa nafasi ya kazi iliyopachikwa utakuwa mbaya zaidi chini ya kihariri halisi.
Andika mpangilio uliochagua, mashine inayomiliki chanzo na jinsi uhamisho unavyofanya kazi. Dokezo hilo hubadilisha uandikishaji ujao au ubadilishaji wa kompyuta mpakato kuwa kazi ya usanidi badala ya uchunguzi.