• jenkins


     

    Centos下Jenkins发布Springboot

    0. 目录

    1. 原理
    2. 服务器A软件安装 
      2.1 安装git 
      2.2 安装JDK 
      2.3 安装Maven 
      2.4 安装Jenkins
    3. 配置Jenkins
    4. 配置springboot持续集成项目
    5. 配置服务器B目录和脚本
    6. 启动Jenkins下Springboot项目
    7. 检测springboot项目启动是否成功

    1. 原理

    有两个服务器A和B,服务器A安装Jenkins,服务器B运行Springboot项目。其步骤如下:

    1.服务器A先安装JDK,再部署jenkins.war到Tomcat,根据Jenkins图形化配置好git,maven,ssh 
    2.服务器A先用git工具从gitlab拉取代码,再用maven把springboot项目打包成jar包,然后用ssh传输到服务器B 
    3.服务器B要有springboot脚本(先杀死进程,再启动),把springboot项目启动

    2. 服务器A软件安装

    服务器A准备环境

    • git
    • jdk1.8
    • maven
    • jenkins

    2.1安装git

    1.安装 yum install -y git 2.查看 git --version 3.配置ssh和gitlab

    1. 查看ssh的公钥和私钥,判断id_rsa.pub是否存在 
      ls ~/.ssh
    2. 如果不存在,创建ssh(可修改邮件地址) 
      ssh-keygen -t rsa -C "your_email@example.com"
    3. 如果存在,查看id_rsa.pub 
      cat ~/.ssh/id_rsa.pub
    4. 登陆gitlab,复制到gitlab的ssh配置中 
      右上角->Settings->SSH keys->Key和Title->Add key 
    5. 测试通过ssh拉取代码 
      git clone git@190.168.1.18:javagroup/microistore.git
    6. 查看git位置 
      which git

    2.2安装JDK

    1. 下载JDK 从官网https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    下载jdk-8u201-linux-x64.tar.gz。或者共享目录:
    \190.168.1.31临时存储_文件留10天Java开发软件(永不删除)centos学习 2. 上传到服务器A,解压 tar -zxvf jdk-8u201-linux-x64.tar.gz 3. 移动到/usr目录下 mv jdk-8u201-linux-x64 java 4. 环境变量配置 vi /etc/profile
    再加入 export JAVA_HOME=/usr/java export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} 5. 环境变量生效 source /etc/profile 6. 环境变量检测 java -version

    2.3安装Maven

    1. 服务器A下载Maven wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz 2. 解压 tar zxf apache-maven-3.1.1-bin.tar.gz 3. 移动到/usr目录 mv apache-maven-3.1.1 /usr/maven 4. 环境变量配置 vi /etc/profile
    再加入 export M2_HOME=/usr/maven export PATH=${M2_HOME}/bin:${PATH} 5. 环境变量生效 source /etc/profile 6. 环境变量检测 mvn -v

    2.4安装Jenkins

    1. 服务器A下载Jenkins wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.150.3/jenkins.war

    2. 启动Jenkins(可放入tomcat容器中) nohup java -jar jenkins.war --logfile=server.log --httpPort=8080 > server.log 2>& 1 & 

    3. 打开浏览器 输入http://localhost:8080 

    4. 查看jenkins密钥,并且输入浏览器页面上 cat /root/.jenkins/secrets/initialAdminPassword 

    5. 默认插件安装,选择第一个 cat /root/.jenkins/secrets/initialAdminPassword 6. 输入账号密码等信息 

    3. 配置Jenkins

    1. 安装Jenkins插件Maven Integration plugin和Publish Over SSH

    步骤:Jenkins->系统管理->插件管理->Available->输入Maven Integration plugin->Install without restart->再安装Publish Over SSH 

    2. 配置全局工具 步骤:Jenkins->系统管理->全局工具配置 依次配置JDK、Maven、Git(文件路径为上面配置路径)

    • JAVA_HOME为/usr/java
    • MAVEN_HOME为/usr/maven
    • Path to Git executable为/usr/bin/git(可用命令which git查看路径) 3. 配置SSH连接远程服务器B 步骤:Jenkins->系统管理->系统设置->向下滚动->Publish over SSH->Add->Advanced...->Use password authentication, or use a different key 
      分别输入服务器B名称、ip地址、ssh帐号、上传文件跟目录、ssh密码 

    4.配置springboot持续集成项目

    1.创建maven项目 步骤:Jenkins->新建项目 2.配置maven项目

    • 进入配置 
    • 配置git 
      Repository URL为gitlab的ssh项目地址 
      Branch Specifier (blank for 'any') 为项目分支 
    • 配置maven 
      Root POM为打包目录pom.xml 
      Goals and options为打包命令 
    • 进入SSH配置 

    • 步骤:Post Steps->Send files or execute commands over SSH 
    • 配置SSH Name为选择服务器B Source files为服务器A打包后jar的文件路径 Remove prefix为同上,但为文件夹 Remote directory为服务器B的相对目录,实际目录为/data/upload Exec command为服务器B的执行脚本 

    5. 配置服务器B目录和脚本

    • 创建上传目录 mkdir /data mkdir /data/upload

    • 配置启动脚本(可在服务器A上Jenkins的Exec command执行脚本) 1.先配置java环境变量 2.再杀死原来springboot进程 3.最后启动springboot项目 vi /data/start.sh 再输入

    #!/bin/sh
    
    # --- script starts here
    # 初始化jdk目录和jenkins上传目录
    echo "开始启动项目"
    JAVA_HOME=/usr/java
    JAVA_START=$JAVA_HOME/bin/java
    echo $JAVA_START
    UPLOAD_HOME=/data/upload/
    
    # 获取参数
    APP_NAME=$1
    PROFILE=$2
    echo 第一个参数应用名:$APP_NAME
    echo 第二个参数配置文件:$PROFILE
    
    # 清除进程
    pid=$(ps -ef | grep  -v grep |grep -v sh|grep $APP_NAME | awk '{print $2}')
    echo 找到进程号:$pid
    
    if [ -n "$pid" ];then
     kill -9 $pid
     echo "清除进程pid:"+"$pid" 
    fi
    
    # 启动
    PROFILE_PATH=""
    if [ -n "$PROFILE" ];then
    PROFILE=--spring.profiles.active=$PROFILE
    fi
    nohup $JAVA_START -jar $UPLOAD_HOME$APP_NAME $PROFILE > $UPLOAD_HOME$APP_NAME.log 2>&1 &
    
    echo 开始等待十五秒
    
    sleep 20s
    echo 日志输出开始
    
    tail -200 $UPLOAD_HOME$APP_NAME.log
    
    echo 日志输出结束
    echo 启动项目成功
    

    6. 启动Jenkins下Springboot项目

    • 启动springboot项目,再查看启动日志 
    • 再查看启动日志 
      选择最后一个Build History,再选择Console Output 

    7. 检测springboot项目启动是否成功

    如果有来生,要做一片树叶。 春天恋上枝,炎夏恋上水。 深秋恋上土,东来化作泥。 润物细无声,生生世世恋红尘。
  • 相关阅读:
    使用字体图标完整步骤
    用position:absolute定位小窗口位于版面正中心
    MySql 技术内幕 (第7章 游标)
    MySql 技术内幕 (第5章 联接与集合操作)
    赋值语句作为判断的条件
    发布订阅模式和观察者模式
    关系代数
    数据库关系代数表达式学习
    软考通过分数
    哈希表——线性探测法、链地址法、查找成功、查找不成功的平均长度
  • 原文地址:https://www.cnblogs.com/shujiying/p/11417842.html
Copyright © 2020-2023  润新知