VPN വഴി ദൂരത്തുനിന്ന് C++ ബിൽഡ്: ടൂൾചെയിൻ ഹോസ്റ്റിൽ തന്നെ നിർത്തുക
ഷെയർ മൗണ്ട് ചെയ്യുന്നത് ദൂരത്തുനിന്ന് ബിൽഡ് ചെയ്യുന്നതിന് തുല്യമല്ല. ഏത് ഹോസ്റ്റ് പ്രതികരിക്കുന്നു, ഏത് കംപൈലർ പ്രവർത്തിക്കുന്നു, ഡീബഗ്ഗറും നെറ്റ്വർക്കും എവിടെയാണ് എന്ന് പരിശോധിക്കുക.
ഷെയർ മൗണ്ട് ചെയ്യുന്നു, എഡിറ്റർ ഫയൽ തുറക്കുന്നു, എന്നാൽ ബിൽഡ് ഇപ്പോഴും ലാപ്ടോപ്പിൽ തന്നെ നടക്കുന്നു. ഒരു പിശകും കാണുന്നില്ല, അതുതന്നെയാണ് ഇതിനെ ആശയക്കുഴപ്പമാക്കുന്നത്. ദൂരത്തുള്ള പാത ദൂരത്തുള്ള ടൂൾചെയിൻ അല്ല, കൂടാതെ മൗണ്ട് വഴി ഫയൽ വായിക്കാൻ കഴിയുന്ന എഡിറ്റർ അതിൽ പ്രാദേശിക കംപൈലറെ സന്തോഷത്തോടെ വിളിക്കും. പരിഹാരം ബൈറ്റുകൾ മാത്രമല്ല, വർക്ക്സ്പേസ് നീക്കുക എന്നതാണ്.
മൗണ്ട് ചെയ്ത ഡയറക്ടറി വർക്ക്സ്പേസ് അല്ല
SSH അല്ലെങ്കിൽ SMB വഴി മൗണ്ട് ചെയ്യുന്നത് നിങ്ങൾക്ക് ഒരു പാത നൽകുന്നു. കംപൈലർ, ബിൽഡ് സിസ്റ്റം, ഡീബഗ്ഗർ എന്നിവ ദൂരത്തുള്ള വശത്തുനിന്ന് വരുന്നുണ്ടോ എന്നത് എഡിറ്റർ അവ എവിടെ പ്രവർത്തിപ്പിക്കാൻ തീരുമാനിക്കുന്നു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. പല സെറ്റപ്പുകളും ദൂരത്തുള്ള ഫയലുകൾ വായിച്ച് അവ പ്രാദേശികമായി കംപൈൽ ചെയ്യുന്നു, പിന്നീട് സർവറിൽ മാത്രമുള്ള ഒരു ഹെഡർ ഫയലിൽ പരാജയപ്പെടുന്നു.
ലക്ഷണം സൂക്ഷ്മമാണ്: ബിൽഡ് ഭാഗിക ഫലങ്ങളോടെ വിജയിക്കുന്നു, അല്ലെങ്കിൽ എഡിറ്ററിൽ ശരിയായി തോന്നുന്ന ഒരു ഇൻക്ലൂഡ് പാതയിൽ ഒടിയുന്നു.
ഏത് ഹോസ്റ്റ് പ്രതികരിക്കുന്നു എന്ന് തെളിയിക്കുക
മൗണ്ടിനു പകരം യഥാർത്ഥ ദൂരസെഷനിൽ ബന്ധിക്കുക, തുടർന്ന് ആ സെഷൻ നൽകുന്ന ടെർമിനലിൽ മൂന്ന് വായന-മാത്ര കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക. VS Code-ന്റെ SSH ഗൈഡ് ബന്ധിപ്പിച്ച ദൂര ജാലകത്തിലെ ടെർമിനൽ ദൂര ഹോസ്റ്റിൽ പ്രവർത്തിക്കുന്നു എന്നും അതേ സെഷൻ ഡീബഗ്ഗിംഗും വഹിക്കുന്നു എന്നും രേഖപ്പെടുത്തുന്നു. സംഘടന ദൂര ഘടകങ്ങൾ നിയന്ത്രിക്കുന്നുവെങ്കിൽ ആദ്യം അവയ്ക്ക് അനുമതി തേടുക.
hostname നിങ്ങൾ ഇരിക്കുന്ന യന്ത്രത്തിന്റെ പേര് പറയുന്നു, pwd വർക്ക്സ്പേസ് യഥാർത്ഥത്തിൽ എവിടെയാണെന്ന് കാണിക്കുന്നു, command -v c++ ഷെൽ പ്രവർത്തിപ്പിക്കുമായിരുന്ന കംപൈലറെ അച്ചടിക്കുന്നു. മൂന്ന് ഉത്തരങ്ങളും ലാപ്ടോപ്പല്ല, സർവറിനെ വിവരിക്കണം.
പതിപ്പോ ബിൽഡ് കോൺഫിഗറേഷനോ ശരിയാണെന്ന് അവ തെളിയിക്കുന്നില്ല. അത് പ്രത്യേക ഘട്ടമായി പ്രോജക്റ്റിന്റെ സ്വന്തം നിർദ്ദേശങ്ങളുമായി താരതമ്യം ചെയ്യുക.
ഒരു മാറ്റം ബിൽഡിലൂടെയും ഡീബഗ്ഗിലൂടെയും പിന്തുടരുക
ദൂര വർക്ക്സ്പേസിൽ ചെറിയൊരു മാറ്റം വരുത്തി അവിടെ സൂക്ഷിക്കുക. അതേ ഡയറക്ടറിയിൽ നിന്ന് രേഖപ്പെടുത്തിയ ബിൽഡ് പ്രവർത്തിപ്പിച്ച്, ഔട്ട്പുട്ട് നിങ്ങളുടെ മാറ്റം പ്രതിഫലിപ്പിക്കുന്നു എന്നും മറ്റെവിടെയുള്ള പഴയ പകർപ്പല്ല എന്നും ഉറപ്പാക്കുക. തുടർന്ന് അതേ ദൂര സെഷനിലൂടെ ഡീബഗ്ഗർ ആരംഭിക്കുക, ബൈനറി പാതയും പ്രവർത്തന ഡയറക്ടറിയും സർവറിന്റെ ബിൽഡ് ട്രീയിലേക്ക് ചൂണ്ടുന്ന വിധത്തിൽ. ഉറവിട പാതകൾ ഒത്തുപോകുന്നത് പ്രധാനമാണ്, കാരണം നിങ്ങളുടെ മാറ്റത്തെ ലാപ്ടോപ്പ് പാതയിലേക്ക് പരിഹരിക്കുന്ന ഡീബഗ്ഗർ മറ്റൊരു ഫയലാണ് ഡീബഗ്ഗ് ചെയ്യുന്നത്.
ഡീബഗ്ഗ് ലക്ഷ്യം നിങ്ങളുടെ പ്രാദേശിക ഹോം ഡയറക്ടറിയിൽ തുടങ്ങുന്ന പാതകൾ റിപ്പോർട്ട് ചെയ്താൽ, ലോഞ്ച് കോൺഫിഗറേഷൻ ഇപ്പോഴും പ്രാദേശികമായി ചിന്തിക്കുന്നു.
നെറ്റ്വർക്ക് ആശ്രിതത്വങ്ങൾ ഹോസ്റ്റിൽ തന്നെ തുടരും
ബിൽഡ് ഹോസ്റ്റിൽ ആരംഭിച്ച പാക്കേജ് ഫെച്ച്, git പ്രവർത്തനം അല്ലെങ്കിൽ ടെസ്റ്റ് റൺ ആ ഹോസ്റ്റിന്റെ നെറ്റ്വർക്കും ക്രെഡൻഷ്യലുകളും ഉപയോഗിക്കുന്നു, നിങ്ങളുടെ ലാപ്ടോപ്പിന്റെ VPN സെഷനല്ല. ലാപ്ടോപ്പ് ഒരു സ്വകാര്യ പാക്കേജ് മിററിൽ എത്തുന്നു എന്നത് സർവറിന് എത്താൻ കഴിയുമോ എന്നതിനെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. ബിൽഡിന് ഒരു രജിസ്ട്രി വേണമെങ്കിൽ, സർവറിന് അങ്ങോട്ട് ഒരു റൂട്ട് വേണം, അത് എഡിറ്റർ ക്രമീകരണമല്ല, ഫയർവാൾ ചർച്ചയാണ്.
വിപരീത ദിശയിലും ഇത് ടെസ്റ്റ് ആപ്പുകൾക്ക് ബാധകമാണ്. നിങ്ങളുടെ ബ്രൗസറിൽ നിന്ന് സർവറിലെ ഒരു സേവനത്തിൽ എത്തുന്നത് വേറിട്ട ഒരു കണക്ഷനാണ്, അതിന് അനുവദിച്ച സ്വകാര്യ പാതയോ പരിമിതമായ ഫോർവേഡോ വേണം, തുറന്ന ലിസണർ അല്ല.
ജോലി നഷ്ടപ്പെടുത്താതെ വിച്ഛേദിക്കുക
കണക്ഷൻ വീഴുന്നതിന് മുൻപ് സേവ് ചെയ്ത് commit ചെയ്യുക, അല്ലെങ്കിൽ ഒരു കുറിപ്പെങ്കിലും വർക്കിംഗ് ട്രീ രേഖപ്പെടുത്തുക. ദൂര എഡിറ്റിംഗ് സെഷൻ, നടക്കുന്ന ബിൽഡോ സേവ് ചെയ്യാത്ത ബഫറോ നെറ്റ്വർക്ക് തടസ്സത്തെ അതിജീവിക്കും എന്ന് വാഗ്ദാനം ചെയ്യുന്നില്ല. നിങ്ങളുടെ സെഷനെക്കാൾ കൂടുതൽ കാലം നിൽക്കേണ്ടതിനെല്ലാം പ്രോജക്റ്റ് പിന്തുണയ്ക്കുന്ന ജോബ് അല്ലെങ്കിൽ സെഷൻ വർക്ക്ഫ്ലോ ഉപയോഗിക്കുക.
അപ്പോൾ തൊഴിൽ വിഭജനം വ്യക്തമാണ്: ലാപ്ടോപ്പ് ഒരു ഇന്റർഫേസ്, സർവർ വർക്ക്സ്പേസും ടൂൾചെയിനും സ്വന്തമാക്കുന്നു, VPN പാത നൽകുന്നു. ഫയലുകൾ നീക്കുന്നതും ബിൽഡ് നീക്കുന്നതും രണ്ട് വേറിട്ട തീരുമാനങ്ങളാണ്.