天天看点

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

Jenkins&Maven部署Java应用操作手册

  • Jenkins安装
  • Jenkins配置
    • 插件安装
    • 全局工具配置
      • Maven 安装
      • JDK 安装
    • 系统设置
      • SSH Server
    • 构建任务
      • 新建任务
        • General
        • 源码管理
        • 构建环境
        • 构建Jar
        • 构建War
        • 构建后操作
        • Send build artifacts over SSH
      • 构建

Jenkins安装

Jenkins版本:Jenkins ver. 2.190.1

Jenkins配置

插件安装

Publish over SSH、GIT、Svn等

全局工具配置

根据项目使用的构建工具,安装构建工具。

支持Maven、Gradle、Ant

Maven 安装

  • 官网下载Maven工具包,上传服务器解压
  • 设置上传的maven工具包(settings.xml)为默认的settings文件路径
  • 设置上传的maven工具包(settings.xml)为默认全局settings文件路径
  • 服务器非root账号登陆,可能会有(settings.xml)读写权限的问题,需要设置权限
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

JDK 安装

JDK支持自动安装和手动上传配置

  • 手动安装:
  • 下载 .tar.gz 版本的JDK,解压。配置环境变量
  • Jenkins指定JAVA_HOME
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

系统设置

SSH Server

Jenkins自动部署服务器使用Publish over SSH插件实现。

系统设置首先设置服务器参数

SSH Server设置

  • name 服务器名称
  • Hostname 服务器地址
  • Username 服务器登陆用户名
  • Remote Directory 上传服务器默认根路径
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

构建任务

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

新建任务

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  • 输入任务名称
  • 选择,构建一个自由风格的软件项目
  • 确定
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  1. Jenkins新建任务,也支持复制一个已经存在的任务
    Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

General

填写项目描述等

源码管理

源码支持svn、Git方式管理。这里选择svn

  • 输入Repository URL,svn地址
  • 添加svn,Credentials
  • 选择添加的Credentials
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

构建环境

  • 设置构建前,清空任务的工作空间。可选
  • 构建任务输出日志增加时间显示。可选
Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

构建Jar

发布项目jar到Maven私有仓库

  1. 增加构建步骤,调用顶层Maven目标
    Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  2. 配置构建

    Maven 版本:选择全局工具设置的Maven插件

    目标:Maven发布jar 至私有仓库命令,clean deploy

    POM:如果是聚合工程。可能需要指定项目pom.xml文件路径

    Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  3. 保存

构建War

发布war包,部署到目标服务器

  1. 增加构建步骤,调用顶层Maven目标
    Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  2. 配置构建

Maven 版本:选择全局工具设置的Maven插件

目标:指定打包环境,发布war包。clean package -P prd

POM:如果是聚合工程。可能需要指定项目pom.xml文件路径

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

构建后操作

增加构建后操作步骤

Send build artifacts over SSH

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

Send build artifacts over SSH

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置
  • SSH Server Name:选择在系统设置中的SSH Server。代表部署的目标服务器
  • Source files:需要上传的文件(相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)。Maven Build War路径 如:target/helloworld.war
  • Remove prefix:移除目录,(只能指定Transfer Set Source files中的目录)。如:target/
  • Remote directory 1:远程目录。上传目标服务器的相对路径。上传目标服务器的完整路径是系统设置中的SSH Server的Remote Directory参数项+此路径。

    参考:

    SSH Server Remote Directory:/home/test/

    Remote directory:war

    目标服务器路径为:/home/test/war/helloworld.war

  • Remote directory 2:远程目录。jenkins支持根据日期、任务构建次数生成远程目录。高级—>勾选Remote directory is a date format
    Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

    路径如:'war/deploy/'yyyyMMdd/'build-${BUILD_NUMBER}'

    yyyyMMdd,BUILD_NUMBER。是jenkins内置环境变量。

  • Exec command:部署命令。
  • Exec command 1,cp.sh 执行copy 上传的war到统一的文件夹
  • Exec command 2,deploy.sh 执行解压war包命令

Tomcat 重启脚本

#!/bin/sh

CDATE1=`date +%Y%m%d`
DOMAIN_HOME="/appserver/tomcat_8081"
 
echo "[$(date +'%F %T')] >>> Tomcat begin to restart."


cd ${DOMAIN_HOME}

cd bin

./shutdown.sh
 
# Kill all remaining processes
pidList=$(ps aux | grep $DOMAIN_HOME | grep -v grep | awk '{print $2}')
for pid in $pidList; do
    kill -9 $pid
    echo "[$(date +'%F %T')] >>> Kill the process [$pid] successfully."
done

nohup ./startup.sh >>/appserver/tomcat_8081/tomcat_8081.log &

echo "[$(date +'%F %T')] >>> Tomcat restart complete."

           

deploy.sh

#clear directory config
cd /home/test/war/helloworld
rm -rf helloworld
mkdir helloworld
echo "clear dir sucess: /home/test/war/helloworld"

#unzip package to config
cd helloworld
jar -xf /home/test/war/helloworld.war
echo "unzip war package sucess"


           
  • 保存

构建

立即构建

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

查看控制台输入,构建日志

Jenkins&Maven部署Java应用操作手册Jenkins安装Jenkins配置

完成