做网站前期需求分析收费么,圣都家装公司简介,局网站建设情况,旅游网站开发文献综述背景–问题描述#xff1a; 新入职公司#xff0c;交接人说jenkins运行有问题#xff0c;现在都是手动发布#xff0c;具体原因让我自己看#xff08;笑哭#xff09;。我人都蒙了#xff0c;测试环境都手动发布#xff0c;那不是麻烦的要死#xff01; 接手后 新入职公司交接人说jenkins运行有问题现在都是手动发布具体原因让我自己看笑哭。我人都蒙了测试环境都手动发布那不是麻烦的要死 接手后发现是jenkins版本2.422要求jdk版本最低11项目使用的则是1.8。两者没法同时满足升级jdk是不现实的。后来发现测试环境有两套jdk一套JDK1.8一套JDK17我想这套jdk17应该就是为了解决jenkins对JDK版本要求的问题的吧 尝试处理方式一 配置Linux JDK运行环境为JDK17启动jenkinsJDK8无法启动启动成功。切换配置JDK到1.8在jenkins中配置项目–发布竟然成功了此种方式不可取。原因一 后续在添加项目时无论如何都不能发布成功摸不着头脑原因二 在jenkins配置的shell脚本中添加一行 echo java -version 结果打印JDK17大坑这环境都变了后面很容易出现大问题。
一、解决方式 jenkins是war包war包也可以java -jar启动呦启动时指定JDK启动就可以了发布时打包命令依赖的当前环境配置的JDK版本。
# 指定使用jdk17版本启动jenkins环境变量/etc/profile配置的是1.8版本
nohup /home/java/jdk-17.0.7/bin/java -jar -Xms512M -Xmx2048M -XX:MetaspaceSize256M -XX:MaxMetaspaceSize768M jenkins.war runtime.log 21 二、实际遇到问题 方式一的jenkins报错问题
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.774 s
[INFO] Finished at: 2024-06-12T09:19:2908:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project business-core-redis:
Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module 0x5ff00507) cannot access class
com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler)
because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module 0x5ff00507 - [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn args -rf :business-core-redis编译失败但是在jenkins拉取项目的位置执行mvn clean package -Dmaven.skip.testtrue确可以正常编译打包。 在jenkins配置的shell中添加一行 echo java -version 结果打印
java version 17.0.7 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.78-LTS-224)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.78-LTS-224, mixed mode, sharing)由此看来还是JDK版本的问题。
三、配置Webhooks自动发布
上面已经给出处理方式下面是是记录jenkins配置及git版本管理工具gogs配置Webhooks自动发布。 第一步New Item 第二步Enter an item name创建待发布项目名称–选择Freestyle project– 点击ok 第三步添加项目描述勾选git管理 第四步配置git仓库 第五步添加shell配置 第六步填写shell–保存
#!/bin/bashecho java -version
BUILD_IDDONT_KILL_ME
tell(){if [ $? -eq 0 ]thenecho 执行成功elseecho 执行失败fi
}
echo 正在杀死后台的进程
kill -9 ps -ef | grep business-jyb-system-backend.jar | grep -v grep | awk {print $2}
tell
echo 开始移除原来项目的jar包
rm -f /home/rj/development/tongcheng-jyb/business-jyb-system-backend.jar
cd /root/.jenkins/workspace/business-jyb-system-backend-test
echo 开始打包项目
mvn clean package -Dmaven.skip.testtrue
echo 开始复制打包好的jar包到部署目录
cp -p /root/.jenkins/workspace/business-jyb-system-backend-test/business-system/business-system-service/target/business-jyb-system-backend.jar /home/rj/development/tongcheng-jyb/business-jyb-system-backend.jar
echo 移动完成
cd /home/rj/development/tongcheng-jyb
sh start.sh第七步配置gogs自动发布
# Payload URL配置内容
# 其中链接为jenkins项目访问地址
# job 后面的内容为 jenkins总配置的项目名即第二步Enter an item name
http://xxxx.xxxx.com/gogs-webhook/?jobbusiness-jyb-system-backend保存后点击当前页面Payload URL 修改–Test Delivery测试发送请查看jenkins中是否执行了一次构建项目 此时大功告成每当有代码提交就会出发webhook就会被触发调用jenkins发布