jenkins使用shell脚本自动部署java项目,nohup启动不成功

这篇具有很好参考价值的文章主要介绍了jenkins使用shell脚本自动部署java项目,nohup启动不成功。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

百度搜索了很长时间,很多种说法,但是都没说太明白,整合了很长时间,测出来了解决方法,仅测试了自由风格项目和流水线项目,其他的选项未测试,jenkins版本2.400。

jenkins 执行nohup,jenkins,java,运维

 

以下为正文:

执行脚本时,因为jenkins会在构建结束时,将shell运行期间产生的进程全部关闭,所以nohup启动项目会被自动关闭

解决方法:
1、freestyle project :

jenkins 执行nohup,jenkins,java,运维
选择新建自由风格的项目时,Build Steps选择Execute shell,命令行为:
cd xxx
sh xxx.sh


脚本里面需添加:
#!/bin/bash

#添加这个命令:export BUILD_ID=DongKillMe
#jenkins根据BUILD_ID自动关闭shell运行期间产生的进程,修改变量值,值的内容自定义,防止nohup被关闭
export BUILD_ID=DongKillMe

nohup java -Xms1024m -Xmx1024m -XX:MaxNewSize=512m -jar /xxx/xxx/xxx/xxx.jar >/dev/null 2>&1 &

2、新建流水线项目
脚本里面需添加:
#!/bin/bash


# 添加这两行
source /etc/profile
export JENKINS_NODE_COOKIE=dontKillMe

nohup java -Xms1024m -Xmx1024m -XX:MaxNewSize=512m -jar /xxx/xxx/xxx/xxxx.jar >/dev/null 2>&1 &

Pipeline script里面的内容有一处改动:

jenkins 执行nohup,jenkins,java,运维
pipeline {
    agent any

 

    stages {
        stage('部署程序') {
            steps {
                
                sh '''
                   #!/bin/bash

                   cd /xxx/xxx/xxx
                   
                   #改动的地方:sh执行脚本改为bash,ubuntu系统会提示source:command not found,centos/redhat可以不修改
                   bash restart.sh
                   
                '''
                echo '部署完成'
            }
        }
        
    }
    
}


 文章来源地址https://www.toymoban.com/news/detail-715107.html

到了这里,关于jenkins使用shell脚本自动部署java项目,nohup启动不成功的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器部署Jenkins,执行构建任务后,需要执行宿主机上的shell脚本

    遇到的问题:使用docker 部署了一个Jenkins ,Jenkins里执行构建,构建后需要执行宿主机上的shell脚本,这种该如何操作呢。怎么可以退出到宿主机执行shell,最开始挂载了Jenkins_home目录,可以找到shell脚本,但是shell脚本比如cp目录都是对应的宿主机的,在容器里是找不到 步骤一

    2024年02月15日
    浏览(41)
  • Python工程师Java之路(t)使用Shell脚本部署SpringBoot

    代码从开发环境上传到Git仓库 服务器从Git仓库拉取代码 在服务器上进行编译、打包、重启 2.1、下载 2.2、解压 2.3、修改配置 2.1、安装git 2.2、创建仓库地址的目录 2.3、创建代码仓库(名为 hello ) 2.4、免密配置 4.1、使用IDEA创建工程(下面2种方法) 方法1:先创建SpringBoot工程

    2023年04月08日
    浏览(44)
  • shell脚本自动化部署tomcat

    在一个月黑风高的晚上,在公司把程序打包好后,发给现场,结果又被告知不能登录命令行界面部署程序(tomcat部署),只能提供一个shell脚本实现自动化部署,于是拿出我0.5年的开发经验,10分钟写了个shell脚本给到现场 我们先想想tomcat部署一个程序需要经过几个步骤: 1

    2024年02月10日
    浏览(47)
  • 云服务器使用jenkins+docker自动化部署SpringBoot项目

    docker 安装jenkins,就这一步都恶心死了 //拉取镜像,踩了很多坑,用其它版本的镜像插件一直安装失败,最后用的是lts版本(基础版) 用其它版本要么是连不上插件的下载地址,要么是插件下载不成功  docker pull jenkins/jenkins:lts  部署 docker run --user root -d -p 10240:8080 -p 10241:50

    2024年02月01日
    浏览(55)
  • Jenkins CI/CD 持续集成专题三 Jenkins 使用shell脚本打包组件配置流程

    第六步 查看编译状态和产物 到这里,jenkins 配置shell脚本打包组件的完整配置流程就已经完成

    2024年04月29日
    浏览(58)
  • [含完整代码]Linux使用.sh脚本自动部署(启动|停止|状态|日志)项目[超详细]

    个人博客: www.wdcdbd.com   我们在linux部署.jar项目时,都需要通过java -jar的形式来部署,每次都要手动停止,部署,这样用起来会很麻烦。所以,这篇文章就是自己通过.sh脚本一键 启动 , 停止 , 重启 , 查看状态 , 查看日志 。这样会方便一些。  将你的java项目放到你lin

    2024年01月19日
    浏览(55)
  • docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】

    提示:需基本熟悉docker命令、shell脚本、微服务部署、git命令、服务器基本命令、node、maven 服务器环境:Linux-EulerOS(华为自主研发服务器系统,与CentOS基本类似) 安装组件:docker20.10.19、openjdk1.8.0_191、maven3.8.6、git2.33.0、node16.17.1、npm9.1.2、jenkinsci/blueocean、docker-compose 远程工

    2023年04月11日
    浏览(45)
  • 简单的Shell脚本实现自动化构建部署-适合前后端分离的小网站

    大家在生活中经常会自己写一点小代码。然后部署在公有云的服务器上。但是一般像阿里,腾讯等服务商,提供的机器内存并不是很大。如果想装入一个jenkins之类的服务,会比较占用CPU和内存的资源。但是人手的部署又是比较麻烦的。所以我这里提供了一个思路,使用shell脚

    2023年04月16日
    浏览(70)
  • Jenkins自动化部署项目

    https://www.jenkins.io/ https://blog.csdn.net/qq_41581588/article/details/128687402 https://blog.csdn.net/zhishidi/article/details/118082509 https://blog.csdn.net/Sojou/article/details/125935262 使用心得

    2024年02月05日
    浏览(42)
  • 五.docker+jenkins自动部署项目

    一.敏捷开发相关概念 1.微服务的痛点 再来看一下我们的微服务架构 , 每个组件都需要服务器去部署,加起来可能需要几十个甚至上百个服务器。 这样的微服务项目在部署上会遇到什么问题? 需要很多很多的服务器,服务器的采购安装,布线都很麻烦 每个服务都需要:编译

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包