问题:在配置前端自动化部署时,由于要使用公司的私有 npm 镜像,导致不能正常执行 npm 命令,但是 Docker 已经配置好了环境变量,且能够正常构建项目。
原因:Jenkins 登录的 shell 和自己配置环境变量的 shell 不是同一个,因此识别不了该命令。
解决办法:在 Jenkins 里面手动的执行一次 source 命令即可:
source /etc/profile
附完整 Shel l脚本:
export BUILD_ID=dontKillMe
echo "进入工作目录:"
cd /home/code/
echo "删除旧工程:"
rm -rf test-static/
echo "重新clone工程:"
git clone git@git.test.com:xxxx/xxxx/test-static.git
echo "进入工程目录:"
cd /home/code/test-static/
echo "配置npm环境变量:"
source /etc/profile
echo "安装依赖:"
npm install
echo "开始打包:"
npm run build
echo "打包完成!"