ஒரு திட்டத்தை வலையமைப்பு வழியாகப் பகிர்வது Xcode-ஐ இடமாற்றாது, ஏனெனில் பயன்பாடு உங்கள் Mac-இல் தொடர்ந்து இயங்கி, திட்டத் தரவை சேவையகத்திடம் தொடர்ந்து கேட்கிறது. தொலை Mac-இல் Xcode-ஐ இயக்கி அதன் திரையைப் பார்ப்பது வேறு ஏற்பாடு; அதில் பயன்பாடும் அதன் கோப்புகளும் ஒன்றாகவே இருக்கும், இணைப்பு காட்சியையும் உங்கள் உள்ளீட்டையும் மட்டுமே எடுத்துச் செல்லும். எதையும் அமைப்பதற்கு முன் எது வேண்டும் என்பதை முடிவு செய்வது பிற்கால குழப்பத்தின் பெரும்பகுதியைத் தீர்க்கிறது.

மூன்று ஏற்பாடுகள் வழக்கமான நிலைகளை உள்ளடக்குகின்றன; பணியிடம் எங்கு வாழ்கிறது, எந்த இயந்திரம் தொகுக்கிறது என்பதில் அவை வேறுபடுகின்றன. தொடர்வதற்கு முன் அந்த இரு புள்ளிகளுக்கும் உங்கள் பதிலை எழுதுங்கள்.

Xcode-ஐ இயக்கும் இயந்திரத்திற்குப் பெயரிடுங்கள்

முதல் ஏற்பாட்டில் எல்லாம் உள்ளூர்: பணி நகல், அட்டவணை மற்றும் கட்டுமானம் அனைத்தும் உங்கள் Mac-இல் வாழ்கின்றன, வலையமைப்பு களஞ்சியம் மற்றும் சார்புகளின் போக்குவரத்தை மட்டுமே எடுத்துச் செல்கிறது. இரண்டாவதில் திட்டம் Xcode-உடன் தொலை Mac-இல் தங்குகிறது, எனவே அட்டவணைப்படுத்தலும் தொகுப்பும் கோப்புகளுக்கு அருகில் நடக்கின்றன, இணைப்பு திரை உள்ளடக்கத்தையும் விசை அழுத்தங்களையும் எடுத்துச் செல்கிறது. மூன்றாவதில் திருத்தம் உள்ளூரில் நடக்கிறது, வெளிப்படையான மூல ஒப்படைப்புக்குப் பிறகு கட்டுமானம் தொலை ஹோஸ்ட்டில் இயங்குகிறது. ஒவ்வொன்றும் எதை நகர்த்துகிறது என்பதை அட்டவணை பெயரிடுகிறது.

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

நடுத் தூணை முதலில் படியுங்கள், ஏனெனில் தோல்விகள் எங்கு தோன்றும் என்பதை அது தீர்மானிக்கிறது. மூலம் தொலையில் உள்ள பணிப்பாய்வு இணைப்பு மெதுவாக இருக்கும்போது தோல்வியடைகிறது, தொலை தொகுப்பி உள்ள பணிப்பாய்வு ஒப்படைப்பு தெளிவற்றதாக இருக்கும்போது தோல்வியடைகிறது. இரண்டிற்கும் உங்களைப் பொறுப்பாக்குவது மூன்றாவது மட்டுமே.

மெகாபைட்டுகளை அல்ல, சுற்றுப் பயணங்களை எண்ணுங்கள்

ஒரு திருத்தியும் ஒரு அட்டவணையாக்கியும் பல சிறிய கோப்புச் செயல்பாடுகளை வெளியிடுகின்றன, கோப்பு முறைமை தொலையில் இருக்கும்போது ஒவ்வொன்றும் ஒரு சுற்றுப் பயணமாகிறது. இது பொருத்தப்பட்ட பணியிடத்தை ஒரு பெரிய நகல் இல்லாத விதத்தில் தாமதத்திற்கு உணர்திறன் உள்ளதாக்குகிறது, அதனால்தான் கோப்பு மாற்றத்தின் நேரத்தை அளப்பது பணிப்பாய்வு எப்படி உணர்கிறது என்பதைப் பற்றி கிட்டத்தட்ட எதுவும் சொல்லாது. தொலைக் காட்சி எதிர் விவரக்குறிப்பைக் கொண்டுள்ளது: அது தொடர்ச்சியான ஓட்டத்தை நகர்த்தி, தாமதத்தை விட செயல்திறனைச் சிறப்பாகத் தாங்குகிறது. இரண்டையும் ஒரே எண்ணால் ஒப்பிடுவது நம்பிக்கையான தவறான பதிலை உருவாக்குகிறது.

எந்த ஏற்பாடும் இயற்கையாகவே வேகமானது அல்ல. சரியான தேர்வு நீங்கள் உண்மையில் செய்யும் வேலையைப் பொறுத்தது, அதனால்தான் அடுத்த படி அளவுகோலை அல்ல, அந்த வேலையையே முயற்சிப்பது.

மூல ஒப்படைப்பை வெளிப்படையாக்குங்கள்

இரு இயந்திரங்களும் பணி நகலைக் கொண்டிருக்கும்போது, எது அதிகாரம் கொண்டது, தொலைக் கட்டுமானம் எந்தத் திருத்தத்தைப் பயன்படுத்தியது என்பதை முடிவு செய்யுங்கள். ஒரு பொருத்தப்பட்ட பணி மரத்தைத் திருத்தும் இரு கருவிகளை விட commit தெளிவான ஒப்படைப்பு, ஏனெனில் commit-க்கு அடையாளம் உண்டு, பொருத்துதலுக்கு இல்லை. உருவாக்கப்பட்ட வெளியீடும் அட்டவணைத் தரவும் ஒரு உரிமையாளரைக் கேட்கின்றன, ஏனெனில் அவை மூலத்திலிருந்து மீண்டும் கட்டப்படுகின்றன, மூலம் போலப் பயணிக்கக்கூடாது. மோதல் விதிகள் இல்லாத இரு வழிக் கண்ணாடி பணிப்பாய்வு அல்ல, அது ஒரு பந்தயம்.

தொலையில் கட்டுவதற்கும் தொலை ஹோஸ்ட் சரியான கருவிச் சங்கிலியைக் கொண்டிருக்க வேண்டும் மற்றும் தனியார் சார்புகளுக்கான சான்றுகள் தேவை. ஹோஸ்ட்டை அடைய உங்களை அனுமதிக்கும் VPN உங்கள் கணக்கு அணுகலை அதற்குக் கடன் கொடுக்காது, அங்கு Xcode-ஐ நிறுவாது.

பணிப்பாய்வுக்கு உறுதியளிக்கும் முன் பாதையைச் சரிபார்க்கவும்

தொலை ஹோஸ்ட்டைச் சுற்றி வடிவமைப்பதற்கு முன் அதைச் சரிபார்க்கவும், பின்னர் பணிப்பாய்வு உண்மையில் செய்யும் செயல்பாடுகளுடன் இணைப்பை அளவிடுங்கள். கீழே உள்ள கட்டளைகள் கருவிச் சங்கிலியையும், செயலில் உள்ள உருவாக்குநர் அடைவையும், தொலை பணியிடங்களை வேதனையாக்கும் கோப்பு கண்காணிப்புச் செலவையும் சரிபார்க்கின்றன. கடைசியானதை உள்ளூரில் அல்ல, வலையமைப்புப் பாதை வழியாக இயக்குங்கள்.

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

முழுமையான Xcode நிறுவல் இல்லாத ஹோஸ்ட் xcodebuild-இலிருந்து பிழையைத் திருப்பித் தருகிறது, அது வலையமைப்புப் பிரச்சினை அல்ல, கருவிச் சங்கிலிப் பிரச்சினை. உருவாக்குநர் அடைவு கட்டுமானம் எந்த Xcode-ஐ பயன்படுத்தும் என்பதைக் காட்டுகிறது, கட்டளை வரி கருவிகளை மட்டும் சுட்டும் பாதை என்பது பயன்பாடு நிறுவப்படவில்லை என்று பொருள். பொருத்தப்பட்ட பங்கீட்டின் மேல் களஞ்சிய நிலைக் கட்டளையின் நேரத்தை அளப்பது சுற்றுப் பயணச் செலவை நேரடியாக வெளிப்படுத்துகிறது, உள்ளூர் இயக்கத்துடன் ஒப்பிடுவது முக்கியமான எண்ணைத் தருகிறது. அந்த இடைவெளி ஏற்கனவே அசௌகரியமாக இருந்தால், பொருத்தப்பட்ட பணியிடப் பணிப்பாய்வு உண்மையான திருத்தியின் கீழ் மோசமாக இருக்கும்.

நீங்கள் தேர்ந்தெடுத்த ஏற்பாடு, மூலத்தைச் சொந்தமாகக் கொண்ட இயந்திரம், ஒப்படைப்பு எப்படி வேலை செய்கிறது என்பதைப் பதிவு செய்யுங்கள். அந்தக் குறிப்பு அடுத்த அறிமுகம் அல்லது மடிக்கணினி மாற்றத்தை விசாரணையாக அல்ல, அமைப்புப் பணியாக மாற்றுகிறது.

தொடர்புடைய கட்டுரைகள்