VPN арқылы қашықтан C++ құрастыру: құралдар тізбегін хостта қалдырыңыз
Ортақ қалтаны монтирлеу қашықтан құрастырумен бірдей емес. Қай хост жауап беретінін, қай компилятор іске қосылатынын және жөндеуші мен желі қайда екенін тексеріңіз.
Ортақ қалта монтирленеді, редактор файлды ашады, ал құрастыру әлі де ноутбукте жүреді. Ешқандай қате шықпайды, дәл сол абдыратады. Қашықтағы жол — қашықтағы құралдар тізбегі емес, ал монтирлеу арқылы файлды оқи алатын редактор оған жергілікті компиляторды қуана шақырады. Шешім — тек байттарды емес, жұмыс кеңістігін көшіру.
Монтирленген қалта — жұмыс кеңістігі емес
SSH немесе SMB арқылы монтирлеу сізге жол береді. Компилятор, құрастыру жүйесі және жөндеуші қашықтағы жақтан келе ме, ол редактор оларды қай жерде іске қосуға шешкеніне байланысты. Көптеген параметрлер қашықтағы файлдарды оқып, оларды жергілікті компиляциялайды, содан кейін серверде ғана бар тақырып файлында сәтсіздікке ұшырайды.
Симптом нәзік: құрастыру ішінара нәтижелермен сәтті болады немесе редакторда дұрыс көрінетін include жолында бұзылады.
Қай хост жауап беретінін дәлелдеңіз
Монтирлеудің орнына нақты қашықтағы сессиямен қосылыңыз, содан кейін сол сессия беретін терминалда тек оқуға арналған үш команданы орындаңыз. VS Code-тегі SSH нұсқаулығы қосылған қашықтағы терезедегі терминал қашықтағы хостта жүретінін және сол сессия жөндеуді де алып жүретінін құжаттайды. Егер ұйым қашықтағы компоненттерді шектесе, алдымен оларға рұқсат алыңыз.
hostname сіз отырған машинаны атайды, pwd жұмыс кеңістігі шын мәнінде қайда екенін көрсетеді, ал command -v c++ қабықша іске қосатын компиляторды шығарады. Үш жауаптың бәрі серверді сипаттауы керек, ноутбукты емес.
Олар нұсқаның немесе құрастыру конфигурациясының дұрыс екенін дәлелдемейді. Оны жеке қадам ретінде жобаның өз нұсқаулықтарымен салыстырыңыз.
Бір өзгерісті құрастыру мен жөндеу арқылы бақылаңыз
Қашықтағы жұмыс кеңістігінде шағын өзгеріс жасап, оны сол жерде сақтаңыз. Құжатталған құрастыруды сол қалтадан іске қосыңыз және шығыс сіздің өзгерісіңізді көрсететінін, басқа жердегі ескі көшірмені емес, растаңыз. Содан кейін жөндеушіні сол қашықтағы сессия арқылы іске қосыңыз, бинарлық файл жолы мен жұмыс қалтасы сервердің құрастыру ағашына нұсқасын. Бастапқы код жолдарының сәйкесуі маңызды, өйткені өзгерісіңізді ноутбук жолына байланыстыратын жөндеуші басқа файлды жөндейді.
Егер жөндеу мақсаты жергілікті үй қалтаңыздан басталатын жолдарды хабарласа, іске қосу конфигурациясы әлі жергілікті ойлайды.
Желілік тәуелділіктер хостта қалады
Құрастыру хостта басталған пакетті жүктеу, git операциясы немесе тест жүргізу сол хосттың желісі мен тіркелгі деректерін пайдаланады, сіздің ноутбукіңіздің VPN сессиясын емес. Ноутбук жеке пакет айнасына жетуі сервердің жете алатыны туралы ештеңе айтпайды. Егер құрастыруға тіркелім қажет болса, серверге оған дейінгі маршрут қажет, және бұл өрт қабырғасы туралы әңгіме, редактор параметрі емес.
Керісінше, сынақ қолданбаларына да сол қатысты. Браузеріңізден сервердегі қызметке жету — жеке байланыс, ол мақұлданған жеке жолды немесе шектеулі қайта бағыттауды қажет етеді, ашық тыңдаушыны емес.
Жұмысты жоғалтпай ажыратыңыз
Байланыс үзілмес бұрын сақтап, commit жасаңыз немесе кемінде жұмыс ағашын жазып қойыңыз. Қашықтағы өңдеу сессиясы жүріп жатқан құрастыру немесе сақталмаған буфер желі үзілісінен аман қалады деп уәде бермейді. Сессияңыздан ұзақ өмір сүруі керек нәрсенің бәрі үшін жоба қолдайтын тапсырма немесе сессия ағынын пайдаланыңыз.
Еңбек бөлінісі сонда айқын: ноутбук — интерфейс, сервер жұмыс кеңістігі мен құралдар тізбегіне ие, ал VPN жолды қамтамасыз етеді. Файлдарды көшіру мен құрастыруды көшіру — екі бөлек шешім.