Jenkins 创建 Pipeline 工程,总是失败!!!

Jenkins 创建 Pipeline 工程,总是失败!!!

很胸闷、很奇怪、很无解。。。。。。

同样一个工程一套代码,只是不同的模块,创建 Pipeline 工程后,一个模块执行编译最后总是失败,终于还是查到问题解决了,有必要记录分享一下 ~(^~^)~

                下图是代码库目录结构,有4个功能模块,目录层次如右图所示结构。

下图是创建 Pipeline 工程,目前上面2个模块 service-gateway 工程 跟 service-main 工程都能顺利编译通过,能打出工程模块对应的 jar 包。

红色箭头指的工程模块,也是能顺利编译通过,也是可以打出工程的 jar 包的,可结果显示如下图所示:

大红颜色所表示的当前任务状态,应该都懂的哈!

看看下面完整的面板显示

打开一个构建历史,查看完整的 log 信息,如下图所示,工程模块已编译完成,也顺利发布到服务器启动了工程服务,可最后显示 Finished: FAILURE

很胸闷、很奇怪、很无解。。。。。。反反复复查 Pipeline 的配置,工程编译脚本语法都没有问题,因为其他两个模块都一样一样的配置,编译完成的状态都是正常的,这是为什么呢?

仔细对照、仔细思考,跟另外两工程的结果对比,发现可能是执行工程启动脚本有问题,立马查看比对。

登录服务器,查看工程的启动脚本,对比后发现 start.sh 还真是有差异。

强大的 BeyondCompare 对比显示

这里有点不一样,下面是正确的代码片段。

pid=ps -ef | grep $APP_NAME | grep -v grep | grep -v sh | awk '{print $2}'

修改后,立马编译验证,结果还真是。。。。。。

小曲哼起来,咖啡泡起来,问题终于解决,休息休息发个圈 。

绿色 随身码 畅快通行

© 著作权归 万事通 所有

写成这样更容易理解,markdown 里面的``有特殊作用

pid= `ps -ef | grep $APP_NAME | grep -v grep  | grep -v sh | awk '{print $2}'`
1赞

想请教下你这个是怎么做到的?——一个代码库中的不同服务在jenkins做不同的job

是在不同空间下都下载完整代码并构建对应的单个服务吗?如果各服务之间有依赖呢?是手动启动的方式吗?如果是通过代码变动自动触发如何规避非变动的服务也启动?
————问题有点多 :joy: