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

跳过测试

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

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

第一个参数在这里配置

相关推荐
悟能不能悟36 分钟前
dcpatchscan.exe这是什么
运维·服务器
wanhengidc1 小时前
云手机 流畅运行
运维·服务器·安全·游戏·智能手机
云飞云共享云桌面1 小时前
广东某模具制造工厂用一台云服务器供8个研发设计同时用
linux·运维·服务器·网络·自动化·制造
大博士.J1 小时前
手机端-adb脚本自动化-真机版
运维·智能手机·自动化
q150803962252 小时前
告别复制粘贴!自动化处理文本空行的新思路
运维·自动化
dessler2 小时前
Elasticsearch(ES)分片(Shard)和 副本分片(Replica Shard)
linux·运维·elasticsearch
Dovis(誓平步青云)3 小时前
《探秘 Linux 进程控制:驾驭系统运行的核心之力》
linux·运维·服务器
Guheyunyi3 小时前
用气安全与能效优化平台
运维·网络·人工智能·安全·音视频
北亚数据恢复3 小时前
服务器数据恢复—硬盘黄灯预警,RAID5阵列数据如何恢复?
运维·服务器
半桔4 小时前
【网络编程】从数据链路层帧头到代理服务器:解析路由表、MTU/MSS、ARP、NAT 等网络核心技术
linux·运维·服务器·网络