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