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

跳过测试

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

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

第一个参数在这里配置

相关推荐
AOwhisky4 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238564 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白664 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636995 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
aosky6 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器7 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz7 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
RisunJan7 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨8 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
java知路8 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker