zoukankan      html  css  js  c++  java
  • Docker集成Jenkins自动化部署SpringBoot-Jenkins自动化部署SpringBoot到Docker(转)

    原文:http://www.html580.com/study/247.html

    springboot源码测试例子

    https://gitee.com/html580/boot

    一、Docker集成Jenkins自动化部署SpringBoot

    1.使用docker 安装jenkins
    docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

     
    2.访问jenkins地址 8080
    注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。

    3.解锁jenkins
        查看容器 docker ps -a 找到对应的jenkins容器ID
        进入jenkins容器:docker exec -it diygwcombd95c3b /bin/bash
        查看密码:cat /var/jenkins_home/secrets/initialAdminPassword

    4、选择推荐插件
       大概需要等待3-10分钟

    5、创建新的用户(建议创建下)

    6、Jenkins全局工具配置

    1)JDK环境安装

    进入到jenkins容器中获取java环境安装地址
    echo $JAVA_HOME

    2)Maven环境安装

    7、安装Jenkins对应Maven插件

    1)找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本

    插件名称 Maven Integration

    二、Jenkins实现Springboot项目自动部署

    1、新建一个Maven发布任务

    2、配置任务git账号密码,也可以是svn

    3、项目打包

    clean install

    4、点击立即构建

    第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包

    5、Jenkins启动成功之后执行shell脚本

    #!/bin/bash
    #docker里集成jenkins自动化部署springboot
    #服务名称
    SERVER_NAME=boot
    #源JAR/WAR名称
    JAR_NAME=boot-0.0.1-SNAPSHOT
    #打包目录
    JAR_PATH=/var/jenkins_home/workspace/spring-boot/target/
    #执行目录,根据实际要求是否修改目录
    JAR_WORK_PATH=/var/jenkins_home/target/
    
    echo "查询进程ID-->$SERVER_NAME"
    PID=`ps -ef | grep "$SERVER_NAME" | awk "{print $2}"`
    echo "得到进程ID-->$PID"
    echo "结束进程开始"
    #for id in $PID
    #do
    #    kill -9 $id
    #    echo "结束进程ID-->$id"
    #done
    kill -9 $PID
    echo "结束进程结束"
    
    echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
    mkdir -p $JAR_WORK_PATH
    cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
    echo "复制JAR包成"
    cd $JAR_WORK_PATH
    chmod 755 $JAR_NAME.jar
    java -jar $JAR_NAME.jar

     

    Jenkins自动化部署SpringBoot到Docker

    1、安装JDK

    yum install -y java

    2、安装jenkins

    添加Jenkins库到yum库,Jenkins将从这里下载安装。

    1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    2 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
    3 yum install -y jenkins

    如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)

    1 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
    2 rpm -ivh jenkins-2.7.3-1.1.noarch.rpm

    配置jenkis的端口

     vi /etc/sysconfig/jenkins

    找到修改端口号:

    JENKINS_PORT="8080"  此端口不冲突可以不修改

    3、启动jenkins

    service jenkins start/stop/restart

        安装成功后Jenkins将作为一个守护进程随系统启动
        系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
        启动的时候将从/etc/sysconfig/jenkins获取配置参数
        默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
        Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo

    4、打开jenkins

    在浏览器中访问
    首次进入会要求输入初始密码如下图,
    初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

    选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

    创建超级管理员账号

    Jenkins全局工具配置
    配置JDK,MAVEN。
    查看JDK安装路径
    ls -lrt /usr/bin/java
    ls -lrt /etc/alternatives/java即可得到JAVA安装路径


    2)Maven环境安装

    7、安装Jenkins对应Maven插件

    1)找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本

    插件名称 Maven Integration

    二、Jenkins实现Springboot项目自动部署

    1、新建一个Maven发布任务

    2、配置任务git账号密码,也可以是svn

    3、项目打包

    clean install

    4、点击立即构建

    第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包

    5、Jenkins启动成功之后执行shll脚本

     

    #!/bin/bash
    mkdir -p /var/lib/jenkins/target
    cp -f /var/lib/jenkins/workspace/boot/target/boot-0.0.1-SNAPSHOT.jar /var/lib/jenkins/target/boot.jar
    echo "开始运行"
    echo "停止boot"
    docker stop boot
    echo "删除boot"
    docker rm boot
    #-d : 以服务的方式启动容器
    #--name:为容器命名,以后可以直接以docker start boot的方式启动该容器
    #-p 8888:8888 : 虚拟机的8888端口号映射容器内的8888端口号
    #-v :将虚拟机的 /var/lib/jenkins/target/目录到/usr目录
    #java:8u111 内置java镜像
    #java -jar  /usr/boot.jar :在容器内的启动命令
    docker run -it -d  -p 8888:8888 -v /var/lib/jenkins/target/boot.jar:/usr/boot.jar --name boot java:8u111 java -jar /usr/boot.jar
    echo "执行完毕,浏览器打开IP:8888浏览"
  • 相关阅读:
    Java通过Mybatis实现批量插入数据到Oracle中
    SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
    图片懒加载原理
    js参考---sort函数
    css参考---纯css实现三角形
    css参考---实现元素水平垂直居中
    javascript疑难问题---13、函数防抖
    javascript疑难问题---12、函数节流
    闭包执行注意(函数节流为例)
    javascript疑难问题---11、回调函数
  • 原文地址:https://www.cnblogs.com/ltian123/p/14214772.html
Copyright © 2011-2022 走看看