CMake konfigureerub edukalt. Build algab hiljem, proovib alla laadida välise sõltuvuse ja ebaõnnestub puhverserveri juures. Varajasem edu ei pruugi seda allalaadimist üldse läbi proovinud olla.

ExternalProject_Add() loob sammud, mis võivad build'i ajal käivituda. Neid samme käivitava protsessi keskkond võib erineda terminalist või IDE-st, mis põhiprojekti konfigureeris. Seda erinevust on CI-s lihtne märkamata jätta, kus konfigureerimine ja kompileerimine võivad olla eraldi tööd.

Leidke võrgutoiming

Ärge eeldage, et ühe programmi puhverserveri seade konfigureerib kõiki kolme. Lugege ebaõnnestunud sammu käsk ja viga enne sõltuvuse URL-i muutmist.

Kui valitud allalaadija toetab puhverserveri keskkonnamuutujaid, andke need protsessile, mis seda sammu tegelikult käivitab. Avalike allalaadimiste puhul, mille klient aktsepteerib HTTP-puhverserverit, pakub HTTP-puhverserverite loend lõpp-punktide kandidaate, kui see tee on lubatud. Tavalise sarnase nimega CMake'i vahemälu muutuja edastamine ei ole automaatselt sama mis tütarprotsessi keskkonnamuutuja seadmine.

Säilitage ka erinevus FetchContentist: selle tavaline sõltuvuste täitmine toimub konfigureerimise ajal, seega seal töötav retsept ei tõesta ExternalProjecti build-sammu keskkonda.

Vana vastus, mis soovitab kohandatud allalaadijat ajaloolise ümbersuunamise piirangu möödaminekuks, ei ole tõestus, et iga kaasaegne tõrge vajab uut allalaadimiskäsku. Kontrollige, kas praegune viga on ümbersuunamine, puhverserveri autentimine, sertifikaadi usaldus või lihtsalt kättesaadavus. Säilitage oodatud arhiivi räsi ja TLS-i valideerimine, kui asjakohast teed parandate.

Seotud artiklid