判断是新装插件引起的之前插件自动更新引起的问题,所以将之前的插件都复原
1.在plugins里查找bak备份,把*.bak都还原成*.jpi 然后删除对应文件夹,这些文件夹稍后会自动拉起
2.重启jenkins后页面正常,但是没有了gitlab的webhook功能,从https://updates.jenkins-ci.org/download/plugins/中下载了之前的版本1.5.9,但是只能触发普通工程项目,多分享项目不能触发
3.在docker里起一个一样的jenkins服务
把jenkins目录及jenkins.war包放到文件夹,然后编写Dockerfile
vim Dockerfile
FROM nexus.goldwind.com.cn:9000/basic/base/centos-jdk:1.8
ENV LANG=C.UTF-8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD jenkins.tar /data/gwapp/
COPY jenkins.war /data/gwapp/jenkins.war
COPY jenkins-master.service /etc/systemd/system/jenkins-master.service
RUN mkdir -p /data/logs/jenkins/
WORKDIR /data/gwapp
#ENTRYPOINT ["/usr/sbin/init","systemctl","start" "jenkins"]
ENTRYPOINT ["java","-Djava.awt.headless=true","-Xms4096m","-Xmx4096m","-DJENKINS_HOME=/data/gwapp/jenkins","-jar" "/data/gwapp/jenkins.war"]
构建镜像
docker build -t jenkins-test
启动镜像
docker run -d --rm --name=jenkins -p 8081:8080 jenkins-test
在ENTRYPOINT中用java -jar可以启动,但是不能用systemctl启动,ENTRYPOINT ["systemctl","start" "jenkins"]
会报错
Failed to get D-Bus connection: Operation not permitted
使用ENTRYPOINT ["/usr/sbin/init"]可以在进入容器之后使用systemctl启动,但没必要
启动容器时,用init命令将系统初始化,作为容器的第一个进程,
docker run -d --rm --name=jenkins -p 8081:8080 --privileged=true jenkins-test
-privileged=true表示容器真正的使用root权限,使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。