公司动态

运维|devops|jenkins构建分支选择及执行日志展示

📅 2026/7/29 2:12:42
运维|devops|jenkins构建分支选择及执行日志展示
运维|devops|jenkins构建分支选择及执行日志展示 目录1. 运维|devops|jenkins构建分支选择及执行日志展示1.1 主要操作1.2 分支选择1.2.1 插件安装1.2.2 分支参数配置1.2.3 拉取git源码地方1.2.4 构建前后功能变化1.3 git提交日志展示1.4 执行命令日志结果展示1.4.1 插件ssh安装1.4.2 系统配置ssh1.4.3 任务配置调整1.4.4 执行命令日志1.5 展示应用日志1.5.1 配置如下1.5.2 命令1.5.3 展示结果基于 jenkins Version 2.541.3 实操案例主要操作text分支选择 git提交日志展示 远程shell执行日志展示 展示应用日志分支选择分支的选择核心插件 Git Parameter Plugin插件安装分支参数配置拉取git源码地方将上面参数名BRANCH录入到Branches to build 地方(${BRANCH})构建前后功能变化配置前配置后git提交日志展示执行命令日志结果展示插件ssh安装系统配置ssh任务配置调整点击 【增加构建步骤】 不是 【增加构建后操作步骤】先配置【SSH Server】再配置 【SSH site】注意 SSH Publishers 里面【Exec command】 为空SSH ServerSSH site配置脚本如下:bash#!/bin/bash app_nameapp app_pattern${app_name}-*.jar port8081 temp_path/usr/local/temp deploy_path/usr/local JAVA_HOME/usr/local/jdk-21.0.11 log_path/data/log log_file${log_path}/app.log deploy_log${log_path}/deploy-app-$(date %Y%m%d_%H%M%S).log mkdir -p ${log_path} # 定义日志函数同时输出到控制台和日志文件带时间戳 log() { echo $(date %Y-%m-%d %H:%M:%S) $* | tee -a ${deploy_log} } log 部署开始 ${app_name} # 等待Jar包上传完成最多10s new_jar for ((i0;i10;i)); do new_jar$(find ${temp_path} -maxdepth 1 -name ${app_pattern} | head -1) [ -f ${new_jar} ] break log 等待Jar包上传 $i/10 sleep 1 done [ ! -f ${new_jar} ] log 错误未找到Jar包 exit 1 jar_name$(basename ${new_jar}) target_jar${deploy_path}/${jar_name} log 待部署包${new_jar} # 停止旧进程并等待进程消亡 run_pid$(ps -ef | grep java -jar | grep ${app_name} | grep -v grep | awk {print $2}) if [ -n ${run_pid} ]; then log 终止旧进程 ${run_pid} kill -15 ${run_pid} for ((i0;i8;i)); do ! ps -p ${run_pid} /dev/null break log 等待旧进程退出... sleep 2 done if ps -p ${run_pid} /dev/null; then log 超时强制杀死 ${run_pid} kill -9 ${run_pid} sleep 2 fi fi # 端口兜底释放 while lsof -t -i:${port} /dev/null; do log 端口${port}占用等待释放 sleep 2 done # 更新jar rm -f ${deploy_path}/${app_pattern} mv ${new_jar} ${target_jar} # 启动服务 log 启动应用 port:${port} nohup ${JAVA_HOME}/bin/java -jar \ -Dserver.port${port} \ -Xmx512m -Xms256m \ ${target_jar} ${log_file} 21 new_pid$! log 新进程PID: ${new_pid} sleep 3 if ! ps -p ${new_pid} /dev/null; then log 警告进程启动异常请查看日志 ${log_file} fi rm -rf ${temp_path:?}/* log 部署完成 exit 0执行命令日志展示应用日志通过增加ssh 命令方式配置如下命令bash#!/bin/bash # 等待5秒让服务完成启动输出日志 sleep 5 # 查看最后300行日志自行调整行数 tail -n 300 /data/log/app.log展示结果