zoukankan      html  css  js  c++  java
  • jenkins 部署问题

    1. 怀疑 jenkins 没有拉到最新的包
    解决:
    清除 jenkins 工作空间

    2. jenkins 自动构建时, start.sh 脚本已经执行成功,但是应用总是启动后自动退出了
    进程没有起来,从 pid 文件来看,start.sh 确实已经启动过,从 log 中来看,应用启动后,就莫名的 shutdown 了
    分析:
    首先,怀疑是不是代码问题,导致应用起不来。这种情况排除。
    接着,在 jenkins 上更改构建脚本,让 start.sh 的执行日志输出到 start.log ==> ./start.sh > start.log 2>&1,看有没有错误输出
    再次部署,居然成功了,进程起来了。查看 start.log 输出的是应用启动日志。
    这样,怀疑 start.sh 是不是没有将脚本执行内容重定向输出

    解决:
    更改 start.sh,增加 >/dev/null 2>&1
    nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_JMX_OPTS -jar pkg/*.jar --spring.config.location=config/application.yml --spring.profiles.active=prod >/dev/null 2>&1 & echo $! > pid

    3. jenkins 构建脚本中有一步 rm deploy/* 的操作,当 deploy 包下面没有文件时,会导致 rm 报错,从而构建部署失败
    解决:
    临时解决方案,在 deploy 目录下 touch 一个文件,再点击构建

    部署脚本(start.sh)注意的地方:
    1. -Djava.io.tmpdir=/app/xxx/tmp 指定的临时目录是否存在
    2. 启动脚本将日志重定向到 nohub.out (或其他文件 system.log),这样可以看全量日志查找问题 (springboot 项目)

  • 相关阅读:
    Java SSM入门(十三)——Oracle(二)(PLSQL)
    Java SSM入门(十二)——Oracle(一)(增删改查)
    Java SSM入门(十一)——SSM整合
    JAVA网络编程
    容器随笔
    Java容器
    Java面向对象
    Java Lambda表达式
    Java数组详解
    需要注意的
  • 原文地址:https://www.cnblogs.com/kevin-yuan/p/10066377.html
Copyright © 2011-2022 走看看