美文网首页Jenkinsmaven开发应用
jenkins搭建+创建maven项目

jenkins搭建+创建maven项目

作者: 任未然 | 来源:发表于2022-01-26 23:24 被阅读0次

    一. 概述

    jenkins是企业最常用的代码自动构建发版工具, 网上也很多关于jenkins的文章, 但很少比较详细的教程, 本文将从jenkins搭建到创建一个maven项目实现远程部署,一步到位. jenkins实现远程部署只要清楚流程是很简单的,无非就是拉取代码->打包->上传包到目标服务器->执行脚本启动

    二. 安装jenkins

    2.1 docker安装jenkins

    # 拉取镜像 jenkinsci/blueocean
    docker pull jenkinsci/blueocean
    
    # 运行
    docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkinsci/blueocean
    

    2.2 jenkins初始化

    2.2.1. 打开网址localhost:8080

    image.png

    2.2.2. 获取密码

    # 进入容器
    docker exec -it jenkins bash
    # 查看密码
    cat /var/jenkins_home/secrets/initialAdminPassword
    

    2.2.3. 安装插件

    image.png
    image.png

    2.2.4. 创建一个用户

    image.png

    2.2.5. 示例配置

    image.png

    2.2.6. 就绪

    image.png

    2.3 全局工具配置

    image.png
    image.png

    2.3.1 配置jdk

    容器自带jdk, 进入容器查看jdk路径

    # 进入容器
    docker exec -it jenkins bash
    # 查看jdk路径
    echo $JAVA_HOME
    
    image.png

    2.3.2 配置maven

    image.png

    注意:填完记得点[保存]

    2.4 安装插件

    image.png
    主要安装3个插件,搜索插件名勾选,然后点击下载

    下载完点击重启

    image.png

    三. 配置远程服务器ssh连接

    image.png
    image.png

    四. 创建一个maven项目

    4.1 创建项目

    image.png
    image.png

    4.2 配置git分支参数

    image.png image.png

    4.3 配置代码仓库

    image.png

    4.4 配置maven打包命令

    image.png
    clean package -Dmaven.prod.skip=true -e

    4.5 配置jar包上传指令

    image.png
    image.png

    注意,jenkins打包好的文件在/var/jenkins_home/workspace/目录下,进入容器可以查看

    ${JOB_NAME} jenkins的预设参数,值为项目名

    4.6 配置远程服务器执行命令启动服务

    image.png
    image.png

    附: 启动sheel脚本: jar.sh

    set +e
    
    source /etc/profile
    
    PROJECT_NAME=$(cd "$(dirname "$0")";pwd)
    jar_file=$(ls ${PROJECT_NAME}/*.jar)
    mkdir -p ${PROJECT_NAME}/dump
    
    if [ `echo ${jar_file} | xargs -n1 | wc -l` -eq 1 ];then
        APP_NAME=${jar_file}
    else
        echo 'ERR: Twee fles pakkette word nie toegelaat nie.'
        exit 2
    fi
    
    # help
    usage() {
        echo "Usage: sh jre.sh [start|stop|restart|status]"
        exit 1
    }
    
    # check pid
    is_exist() { 
        pid=`ps -ef | grep $APP_NAME | grep java | grep -v grep | awk '{print $2}' `
        if [ -z "${pid}" ]; then
            return 1
        else
            return 0
        fi
    }
    
    # Start
    start() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "${APP_NAME} is already running. pid=${pid} ."
        else
            cd ${PROJECT_NAME}
            nohup java -jar $APP_NAME  &>logs.out & 
        fi
    }
    
    # Stop
    stop() {
        is_exist
        if [ $? -eq "0" ]; then
            kill -9 $pid
        else
            echo "${APP_NAME} is not running"
        fi
    }
    
    # Status
    status() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "${APP_NAME} is running. Pid is ${pid}"
        else
            echo "${APP_NAME} is not running."
        fi
    }
    
    # Restart
    restart() {
        stop
        start
    }
    
    # run
    case "$1" in
        "start")
            start
            ;;
        "stop")
            stop
            ;;
        "status")
            status
            ;;
        "restart")
            restart
            ;;
        *)
            usage
            ;;
    esac
    
    
    

    4.6 done

    image.png

    五. 发版测试

    5.1 构建

    image.png

    5.2 选分支开始构建

    image.png

    5.3 查看构建日志

    image.png image.png

    相关文章

      网友评论

        本文标题:jenkins搭建+创建maven项目

        本文链接:https://www.haomeiwen.com/subject/xevnhrtx.html