Jenkins 使用 Pipeline 构建并发布项目

Jenkins Pipeline 提供了一种强大的方式来定义构建、测试和部署流程。
以下是使用 Jenkins Pipeline 构建和发布项目的完整指南。

1. 创建 Pipeline 项目

登录 Jenkins 控制台

点击 “新建item”

输入任务名称,选择 “流水线” 类型

点击 “确定”
在这里插入图片描述

2. 编辑流水线脚本

我们可以借助流水线语法,去生成脚本:
例如我们在构建完之后发送jar包到服务器并启动,如下:
在这里插入图片描述
复制生成接脚本粘贴到发送jar包的steps中
在这里插入图片描述

pipeline {
    agent any
    tools {
        maven "maven"
    }

    stages {
        stage('拉取代码') {
            steps {
                git branch:'master',url:"https://gitee.com/liuxiaoli2023/helloworld.git"
                echo '拉取成功'
            }
        }
         stage('构建') {
            steps {
                sh "mvn clean package"
                echo '构建完成'
            }
        }
         stage('发送jar包') {
            steps {
                sshPublisher(publishers: [sshPublisherDesc(configName: 'testServer', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''#!/bin/bash
                APP_JAR="/root/opt/yourapp/*.jar"
                LOG_FILE="/var/log/yourapp.log"
                
                # 停止旧进程
                if pkill -f "java.*$(basename $APP_JAR)"; then
                    echo "成功停止旧进程"
                else
                    echo "没有找到运行中的进程"
                fi
                
                # 确认进程终止
                for i in {1..5}; do
                    if pgrep -f "java.*$(basename $APP_JAR)" >/dev/null; then
                        sleep 1
                    else
                        break
                    fi
                done
                
                # 启动新实例
                echo "nohup java -jar $APP_JAR > $LOG_FILE 2>&1 &" | at now
                echo "已提交后台启动任务,使用以下命令检查:"
                echo "tail -f $LOG_FILE"''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/opt/yourapp', remoteDirectorySDF: false, removePrefix: 'target/', sourceFiles: '**/target/*.jar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
                echo '发送完成' 
            }
        }
    }
}

保存代码,回到上一页选择“立即构建”

3.查看构建日志

我们可以通过Blue Ocean插件,查看每一步构建状态以及日志。
在这里插入图片描述在这里插入图片描述

4. 查看项目启动情况

在云服务器中执行 jps 查看项目是否启动成功
在这里插入图片描述

4.4 访问接口

在这里插入图片描述
大功告成!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值