当前位置: 首页 > 后端技术 > Java

詹金斯:参数构建:分支-模块-回滚-打印日志

时间:2023-04-01 20:42:38 Java

@TOCJenkinsNotesJenkinsNotes新增任务:https://blog.csdn.net/weixin_...JenkinsNotes配置远程服务器:https://blog.csdn.net/weixin_...Jenkins:ParameterizedConstruction:Multi-branch|Multi-module|Rollback|打印日志:https://blog.csdn.net/weixin_...根据自己的需要自定义构建不同的参数多分支安装GitParameterPlug-In插件不止一个-ins同类型,选择自己熟悉的进入系统管理-插件管理-可选插件-直接搜索-安装配置参数配置-GodsWebhook-参数化构建过程-添加参数-Gitparameters-配置以下参数:名称:参数变量名参数类型:选择分支/分支或标签默认值:设置为主分支或其他分支源代码管理-设置分支参数$mybranch上一步中的参数名称-其他中大小写正确-保存自动根据git地址解析版本选择并构建分支和子模块。前提是父项目和子项目必须添加build标签。父项目需要此子模块。org.apache.maven.pluginsmaven-compiler-plugin${java.version}${java.version}${project.build.sourceEncoding}子项目${project.artifactId}org.springframework.bootspring-boot-maven-plugin重新打包/build>子模块build[外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传(img-EW3doc2V-1638005232824)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211122175236237.png)]参数配置ExtendedChoiceParameter——ParameterType——SelectCheckBoxes(多选框)NumberofVisibleItems:ModulelimitDelimiter:separator[external链接图像传输失败。源站点可能具有防盗链接机制。建议保存图片直接上传(img-ji4bHXJI-1638005232825)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211127164143904.png)]子模块shellscriptmaven根据pom子模块shell执行流程:获取分支参数、模块参数、工作空间路径(使用默认值)遍历路径跳转到模块目录-读取当前目录pom.xml-读取设置。xmlclean-install(complie)#!/usr/bin/envbashecho“要部署的分支:”$mybranchecho“要部署的模块:”$submoduleecho“工作空间是:”$WORKSPACE#/,转义字符,Get,模块数组array=(${submodule//,/})#遍历执行${array[@]}中的模块doecho"Trytocompileothermodule"cd$WORKSPACE/${module}&&mvn-B-fpom.xml-s/data/apache-maven-3.8.1/conf/settings.xml-gs/data/apache-maven-3.8.1/conf/settings.xmlcleaninstall-Dmaven.test.skip=truedonemvn的基本用法用法:mvn[options][][]OPTIONS:-B,--batch-mode以非交互(批处理)模式运行(禁用输出颜色)-D,--define定义系统属性-f,-file强制使用备用POM文件(或带有pom.xml的目录),pom文件路径必须紧跟-f参数-e,--errors生成执行错误信息-X,-debug生成所有构建输出的执行调试输出-l,-log-file日志文件将去(禁用输出颜色)-q,-quiet安静输出-仅显示错误-v,-version显示版本信息-h,-help显示帮助信息-s--settings用户配置文件路径的替代;-gs--global-settings全局配置文件的备份路径;按模块运行SCP命令,SSH连接远程服务器,运行重启脚本。有两种方式,一种if,else列出所有服务!/usr/bin/envbashecho"要部署的模块:"$submodulearray=(${submodule//,/})formodulein${array[@]}doecho"Trytorestartothermodulestart"scp-P2021/data/jenkins/workdir/jobs/base-service/workspace/module/$module-service/target/$module-service.jardevops@xxx.9.134.177:/home/devops/$module/ssh-p2021devops@xxx.9.134.177"/data/initsh/$module-restart.sh"echo"Trytorestartothermoduleend"donefor遍历所有模块,服务器上的所有项目必须组织。通常这样,自定义参数:同台服务器多个服务遍历,一个节点一个任务,一个节点多个服务,可以设置一组#!/usr/bin/envbashecho"modulestodeploy:"$submodulearray=(${submodule//,/})formodulein${array[@]}doif["$module"=="module"];然后回显“尝试重新启动其他模块启动”scp-P2021/data/jenkins/workdir/jobs/base-service/workspace/module/module-service/target/module-service.jardevops@xxx.9.134.177:/home/devops/module/ssh-p2021devops@xxx.9.134.177"/data/initsh/module-restart.sh"echo"Trytorestartothermoduleend"fidone项目回滚原理:构建时可以选择build或者rollback字段,设置Choice字段的值,通过Choice设置项目构建版本参数来配置神器Webhook——AddParameters——ExtendedChoiceParameterExtendedChoiceParameter:选择参数NumberofVisibleItems:项目可见数Delimiter:定界符【外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传(img-Gpxk94Ao-1638005232826)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211122170156675.png)]使用构建后的存档记录文件指纹跟踪需要记录指纹的文件:构建并选择保存在Jenkins工作目录下的jar工程,打印日志。需要单独开一个task,与build和run分开,很不方便。原理:服务器远程命令打印日志到Jenkis,打印日志的命令:tail-$LogRowlogPath/log$Date.log-N-Date这是日志的后缀,根据打印指定的日志文件到服务器日志名,最多查看15天之内的日志查看某天的日志,如果输入.2021-11-22,就是查看2021-11-22的日志。请注意,有一个.它前面的符号。它不能被省略。您最多可以在15天内查看日志。SSH命令tail-$LogRow/data/project/yilucloud-analysis/logs/error$Date.log取消构建,运行参考文章:https://www.cnblogs.com/d装饰...