jenkins 2.346.1最后一个支持java8的版本搭建

1.jenkins下载

下载地址:Index of /war-stable/2.346.1

2.部署

创建目标文件夹,移动到指定位置

创建一个启动脚本,deploy.sh

bash 复制代码
#!/bin/bash
set -e

DATE=$(date +%Y%m%d%H%M)
# 基础路径
BASE_PATH=/opt/projects/jenkins
# 服务名称。同时约定部署服务的 jar 包名字也为它。
SERVER_NAME=jenkins

# heapError 存放路径
HEAP_ERROR_PATH=$BASE_PATH/heapError
# JVM 参数
JAVA_OPS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HEAP_ERROR_PATH"

# SkyWalking Agent 配置
#export SW_AGENT_NAME=$SERVER_NAME
#export SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.0.84:11800
#export SW_GRPC_LOG_SERVER_HOST=192.168.0.84
#export SW_AGENT_TRACE_IGNORE_PATH="Redisson/PING,/actuator/**,/admin/**"
#export JAVA_AGENT=-javaagent:/work/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar

# 停止:优雅关闭之前已经启动的服务
function stop() {
    echo "[stop] 开始停止 $BASE_PATH/$SERVER_NAME"
    PID=$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v "grep" | awk '{print $2}')
    # 如果 Java 服务启动中,则进行关闭
    if [ -n "$PID" ]; then
        # 正常关闭
        echo "[stop] $BASE_PATH/$SERVER_NAME 运行中,开始 kill [$PID]"
        kill -15 $PID
        # 等待最大 120 秒,直到关闭完成。
        for ((i = 0; i < 120; i++))
            do
                sleep 1
                PID=$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v "grep" | awk '{print $2}')
                if [ -n "$PID" ]; then
                    echo -e ".\c"
                else
                    echo '[stop] 停止 $BASE_PATH/$SERVER_NAME 成功'
                    break
                fi
                    done

        # 如果正常关闭失败,那么进行强制 kill -9 进行关闭
        if [ -n "$PID" ]; then
            echo "[stop] $BASE_PATH/$SERVER_NAME 失败,强制 kill -9 $PID"
            kill -9 $PID
        fi
    # 如果 Java 服务未启动,则无需关闭
    else
        echo "[stop] $BASE_PATH/$SERVER_NAME 未启动,无需停止"
    fi
}

# 启动:启动后端项目
function start() {
    # 开启启动前,打印启动参数
    echo "[start] 开始启动 $BASE_PATH/$SERVER_NAME"
    echo "[start] JAVA_OPS: $JAVA_OPS"
    echo "[start] JAVA_AGENT: $JAVA_AGENT"

    # 开始启动
    nohup java -server $JAVA_OPS $JAVA_AGENT -jar $BASE_PATH/$SERVER_NAME.war --httpPort=8080 > nohup.out 2>&1 &
    echo "[start] 启动 $BASE_PATH/$SERVER_NAME 完成"
}

# 部署
function deploy() {
    cd $BASE_PATH
    # 第一步:停止 Java 服务
    stop
    # 第二步:启动 Java 服务
    start
}

deploy

3.配置

启动,初始化目录,查看密码

停止,替换插件目录(可能网络原因,可能版本原因,插件大概率下载不了了)

下载插件https://download.csdn.net/download/kewen_123/90031282

备份原来的插件文件夹

解压替换

4.使用jenkins部署一个项目

(maven安装)安装maven,修改setting.xml配置阿里云仓库镜像和配置本地仓库等

(git安装)

Jenkins必要配置

Jenkins项目配置

bash 复制代码
#!/bin/bash
source /etc/profile

# maven 版本
mvn -v
echo "========maven 开始构建========"
# 构建 jar 包
mvn clean install  --settings /opt/projects/maven/conf/settings.xml -Pdev -DskipTests
echo "========maven 构建完成========"

跳过测试

构建后移动到指定目录,可以执行相应的脚本

也可以通过构建后操作,上传到指定的服务器,需要配置服务器信息

第一个参数在这里配置

相关推荐
叼烟扛炮33 分钟前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
飞飞传输8 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农9 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
布裘10 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
huainingning11 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
荣合技术服务11 小时前
HPC 超算集群故障维修实录:找荣合科算维护后,模拟仿真计算又能跑了
运维·服务器·超算服务器·荣合科算
AR-26710-14 小时前
Linux Day31——实操启停服务改端口重启
linux·运维
百度Geek说14 小时前
QCon上海2026:百度 SRE Agent 规模化落地实践解读
运维·自动化运维