Docker Jenkins 的使用以及未爬出的坑

问题描述

npm build 报错,或者有时候异常中断 。环境: jenkins-blueocean jenkins-docker
根据前端反馈,NODEJS版本低,需要升级。WIN系统和MAC系统下NPM BUILD可以正常使用

基于上述背景开始学习jenkins, 升级NODEJS和NPM

1、 升级nodejs plugin,发现升级到最新nodejs版本不能升级
2、 通过 Global Tool Configuration 安装新版本nodejs,发现不能使用。
3、 于是想到了升级jenkins版本

升级jenkins

1、 进入docker 容器
docker exec -it -u root +ContainerId bash
发现不行。。。
正确姿势
docker exec -it ContainerId /bin/sh
or
docker exec -it ContainerId bash
or
docker exec -it ContainerId sh

2、找到jenkins的存放路径并覆盖
下载:wget http://mirrors.jenkins.io/war/latest/jenkins.war
存放路径 /usr/share/jenkins/
复制文件进入容器:
docker cp /本地路径/jenkins.war [CONTAINERD]:/var/jenkins_home/

3、重启动容器
docker restart +ContainerName

问题依然还在,NPM不通过,直接使用Jenkins

1、 下载Jenkins,并启动nohup java -jar jenkins.war --httpPort=8085 >logjenkins.log &
2、 安装JAVA 、MVN 、 NODE ,安装jenkins一大堆插件
3、 把服务器的 node , npm 版本设置和本地相同,结果还是报错。

问题在哪里?

经过对错误日志的再次查看,去看了下代码,发现错误日志报的没错。有两点,都是大小写问题,VUE对大小写不敏感。改掉之后,NPM 编译通过。

这里有个迷惑点就是mac,win 都没有问题,CentOS也应该没问题,实际上不是这样的, 有时候Centos上是不一样。

为何说是再次,应为NODE不熟就习惯使用惯性思维方式觉得问题。就会按照惯性思维解决问题。

当我把那两个错误修改调,原来docker jenkins 也可以编译通过了,实际上一开始就选择了错误的解决方案。

本次实际遇到的问题
1、 NPM install build 慢,异常结束,是因为机器资源不够。
2、NPM BUILD 报错,但是在mac,win 上正常,是因为CentOS上编译大小写敏感, 具体问题还是看编译报错提示,这个很重要。

关于还未爬出的坑, 折腾了一圈,Docker 下使用jenkins nodejs 版本依然无法升级。在jenkins中文社区咨询了大牛,他说可以使用docker nodejs来升级。。

参考:
1、 CentOS7 使用 Docker 安装Jenkins 并升级
2、 Docker下Jenkins的安装部署、更新
3、Docker 容器的正确进入方式

你可能感兴趣的:(Docker Jenkins 的使用以及未爬出的坑)