Jenkins打包構(gòu)建node項(xiàng)目時(shí),是要求Jenkins所在的機(jī)器要有node環(huán)境呢,還是要求配置的ssh遠(yuǎn)程服務(wù)器要有node環(huán)境 ?
我在本機(jī)搭建了Jenkins,沒(méi)有配置ssh,然后構(gòu)建成功了, 說(shuō)明是依賴(lài)我本機(jī)Jenkins所在機(jī)器的node環(huán)境, 所有有上述的疑問(wèn)。
還請(qǐng)大神賜教 ?。。?/p>
不太熟悉Jenkins,不過(guò)既然邀請(qǐng)我了還是說(shuō)說(shuō)自己的理解吧,node環(huán)境只在需要運(yùn)行node項(xiàng)目的地方需要。
Jenkins只是個(gè)持續(xù)集成環(huán)境,Jenkins執(zhí)行構(gòu)建的node項(xiàng)目在那臺(tái)機(jī)器上,那臺(tái)機(jī)器需要裝node環(huán)境。
當(dāng)然是你的ssh服務(wù)器要有node環(huán)境。
實(shí)際上ssh只是遠(yuǎn)程操控,發(fā)送指令讓遠(yuǎn)程機(jī)器執(zhí)行相關(guān)操作,跟你本機(jī)環(huán)境一點(diǎn)都沒(méi)有。
你為什么構(gòu)建成功我也不清楚,要么你遠(yuǎn)程機(jī)已經(jīng)有了Node環(huán)境,要么你壓根沒(méi)有構(gòu)建成功,你可以看看日志,或者自己ssh到遠(yuǎn)程機(jī)器走一遍構(gòu)建過(guò)程就好了。
我明白了,其實(shí)主要是看想在哪個(gè)步驟打包。如果npm install ,npm run build這些腳本構(gòu)建時(shí)如果寫(xiě)在Jenkins本身執(zhí)行的command里,那么就要求Jenkins機(jī)器要有node環(huán)境,這樣做的話(huà),只要把打包后的dist目錄發(fā)送給遠(yuǎn)程機(jī)器就好了,遠(yuǎn)程服務(wù)器只要解壓就能啟動(dòng)web服務(wù)了。如果這個(gè)腳本寫(xiě)在remote command里, 那么就要把所有源碼發(fā)送給遠(yuǎn)程服務(wù)器, 并且要求遠(yuǎn)程服務(wù)器要有node環(huán)境, 這樣node的任務(wù)就要交給遠(yuǎn)程服務(wù)器了。