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 构建完成========"

跳过测试

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

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

第一个参数在这里配置

相关推荐
梦游钓鱼1 小时前
在window终端创建docker容器的问题
运维·docker·容器
孤寂大仙v1 小时前
【Linux笔记】理解文件系统(上)
linux·运维·笔记
沉默的八哥1 小时前
K8S高可用Web应用部署方案
运维
winyh51 小时前
Vite 打包后Nginx部署配置
运维·nginx
运维小贺3 小时前
Nginx常用的模块
运维·nginx·正则表达式
努力学习的小廉3 小时前
深入了解Linux —— 调试程序
linux·运维·服务器
努力学习的小廉3 小时前
深入了解Linux —— git三板斧
linux·运维·git
AI学IT3 小时前
(安全防御)旁挂组网双机热备负载分担实验
运维·服务器·网络
code monkey.4 小时前
【寻找Linux的奥秘】第一章:基础指令
linux·运维·服务器
qziovv4 小时前
Ubuntu通过局域网共享文件夹实现文件夹的连接
linux·运维·ubuntu