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的任务就要交给远程服务器了。