背景描述
Jenkins容器,只有maven环境,生命周期构建的时候创建,构建结束后自动销毁,无外网环境
无法通过网上教程走taobao镜像安装node 和npm环境,只能通过离线安装解决所有问题
配置代理
通过Nexus npm代理 https://npmmirror.com/ 网站下的镜像源
pom文件调整
截图里面 install --unsafe-perm 参数必加不然离线安装 phantomjs 会失效他自己又去外网下载然后报错
命令预装其他的组件
https://npmmirror.com/ 可以下载到下面的部分插件, 这里很奇怪的就是配置了代理 linux-x64-48_binding.node chromedriver 无法正常下载还是得离线安装
提前去下载Linux 版本的 node phantomjs chromedriver linux-x64-48_binding.node 放入内网环境能访问的 Nexus
mkdir -p /app/chromedriver_linux64
#命令预装node
wget http://你的Nexus地址下的node-v6.11.5-linux-x64.tar.gz
tar -xvf node-v6.11.5-linux-x64.tar.gz
mv ./node-v6.11.5-linux-x64 /app/node-v6.11.5
export PATH=/app/node-v6.11.5/bin/:$PATH
rm -rf node-v6.11.5-linux-x64.tar.gz
node -v
npm -v
#命令预装phantomjs 避免 npm install 长时间下载
wget http://你的Nexus地址/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar -xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
mv ./phantomjs-2.1.1-linux-x86_64/ /app/phantomjs-2.1.1
export PATH=/app/phantomjs-2.1.1/bin/:$PATH
rm -rf phantomjs-2.1.1-linux-x86_64.tar.bz2
# 安装谷歌驱动
wget http://你的Nexus地址/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
export PATH=/app/chromedriver_linux64/:$PATH
mkdir -p /tmp/2.46/chromedriver/
mv chromedriver_linux64.zip /tmp/2.46/chromedriver/
mv ./chromedriver /tmp/2.46/chromedriver/
# 进入前端目录 这里离线安装 linux-x64-48_binding.node 需要在前端目录创建/node-modules/node-sass/vendor 目录 然后把根据linux-x64-48文件前缀创建一个文件夹 再把linux-x64-48_binding.node重命名 binding.node 放入 /node-modules/node-sass/vendor/linux-x64-48/ 文件夹里面 这样所有的环境就安装好了
cd frontend
wget http://你的Nexus地址/linux-x64-48_binding.node
mkdir -p ./node-modules/node-sass/vendor/linux-x64-48
mv ./linux-x64-48_binding.node ./node-modules/node-sass/vendor/linux-x64-48/binding.node
cd ..
#正常使用maven打包
mvn clean compile package -DskipTests -Puat -gs ./deploy/settings.xml
评论区