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