centos6、centos7下的jenkins+maven3+webpack环境变量问题

阅读更多

最近在maven3里加入了执行npm install及webpack的运行,在centos6和centos7里会报出不同的错。

事后写的记录,因此这时就没有给出原出错信息。这里假设已经正确安装了jenkins、maven3、jdk、nodejs及npm、webpack。

一、centos6问题及解决办法

centos6大致报的是c++版本问题,在centos6上安装了devtoolset-3。安装完devtoolset-3后,必须先执行source /opt/rh/devtoolset-3/enable。问题得到解决。

 

二、centos7问题及解决办法

centos7会报不能执行webpack命令。解决的办法是给webpack写上绝对路径。

 

三、权限问题

有时候我们用root用户执行mvn都很正常,一结合jenkins就歇菜了,可以直接在终端环境下切换到jenkins用户来执行mvn,就会发现jenkins用户执行时,可能会提示某些权限的问题。设置好权限问题会得到解决。

 

四、环境变量问题

jenkins的环境变量并非与/etc/profile所设置的一致,或其他地方设置的变量有时候在jenkins里也不会起作用,jenkins里也有自己的环境变量设置,一般我们不太去设置这些,但是如果使用mvn  -X 还是可以deubg到各种环境变量的情况。一开始报出无法执行webpack命令,一直主观的认为是maven插件自身的问题,因此浪费了很多时间一无所获后才把问题定位到可能是jenkins自身的环境变量问题,改成绝对路径后问题立马解决了,再进一步查看jenkins下的PATH跟终端下的PATH果然少了很多项。

 

五、无法运行本地的tomcat7 catalina.sh

在jenkins下运行command /itbegin/catalina.sh start

提示成功,再查看进程,并没有成功启动tomcat。直接用ssh进入系统,不管理root或是jenkins用户都可以正常启动tomcat。没有权限问题,看起来也不应该有环境变量的问题。但可能还有某些隐藏但有想着的环境变量并未一致,难以查找。变通的办法是jenkins安装ssh remote插件,然后执行远程插件命令的方式,运行成功。因为使用了ssh插件,即一次用户登录,完整的执行了.bashrc、profile等初始化环境。

你可能感兴趣的:(maven3,webpack,jenkins,centos,npm)