MIDDLEWARE
Jenkins迁移
以前的Jenkins是通过docker容器跑的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/usr/bin/docker run \ --network host \ --restart=on-failure:5 \ --name=jenkins \ -u=root \ -v /ali-nas/data/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -v /usr/libexec/docker/cli-plugins:/usr/libexec/docker/cli-plugins \ -v /root/.docker/buildx:/root/.docker/buildx \ -v /usr/local/maven:/usr/local/maven \ -v /lib64/:/lib64/ \ -e PATH=/usr/local/maven/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH \ jenkins/jenkins:alpine |
此方法有一些不便, 想迁移到tomcat原生方式运行 首先下载安装包:
1 2 |
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz wget https://get.jenkins.io/war-stable/2.401.1/jenkins.war |
将tomcat解压后, 将jenkins.war放到webapps目录启动tomcat, 打开页面报错404, 查看localhost.log日志: java.lang.UnsupportedClassVersionError 原因是2.361.1以上版本的jenkins要求java11或java17,而本机为java8,而jenkins的2.401要求java11以后 下载JDK:
1 |
wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz |
创建启动文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
cat /usr/lib/systemd/system/jenkins.service [Unit] Discription=tomcat server After=network.target [Service] #User=tomcat #Group=tomcat WorkingDirectory=/data/jenkins/tomcat9 Environment="JAVA_HOME=/data/jenkins/jdk-11.0.2" Environment="JENKINS_HOME=/data/jenkins/tomcat9/webapps" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/data/jenkins/tomcat9" Environment="CATALINA_HOME=/data/jenkins/tomcat9" Environment="CATALINA_OPTS=-Xms1024M -Xmx10240M -server -XX:+UseParallelGC" Type=forking ExecStart=/data/jenkins/tomcat9/bin/startup.sh ExecStop=/data/jenkins/tomcat9/bin/shutdown.sh Restart=always [Install] WantedBy=multi-user.target |
在准备好必要的环境后,jenkins的迁移需要将jenkins主目录原有数据拷贝到新的机器或者新目录下,主要包含config.xml文件以及jobs、users、workspace、plugins四个目录,然后重启jenkins即可
1 2 3 4 5 6 |
cd /data/jenkins/tomcat9/webapps \cp -r /ali-nas/data/jenkins/jobs/* . \cp -r /ali-nas/data/jenkins/config.xml . \cp -r /ali-nas/data/jenkins/users/* users/ \cp -r /ali-nas/data/jenkins/workspace . \cp -r /ali-nas/data/jenkins/plugins/* plugins/ |