Jenkins自动化构建项目配置

Jenkins简介

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署的工具。

Jenkins的安装流程这里就不多做介绍,网上有很多这方面的博客详细介绍安装的过程,这里推荐一篇写的比较不错的中文博客: https://www.cnblogs.com/linJie1930906722/p/5965230.html

我这里主要讲解下Jenkins安装完毕后,如果通过Jenkins进行项目配置

Jenkins自动化构建项目配置_第1张图片

项目配置

下面主要讲解新增一个项目的主要配置及说明

  1. 新增任务
    Jenkins自动化构建项目配置_第2张图片

  2. 描述
    Jenkins自动化构建项目配置_第3张图片

  3. 源码管理
    Jenkins自动化构建项目配置_第4张图片

  4. 构建触发器&构建环境
    Jenkins自动化构建项目配置_第5张图片

  5. 构建
    Jenkins自动化构建项目配置_第6张图片

  6. 构建后操作
    Jenkins自动化构建项目配置_第7张图片

系统配置

系统配置也是很常用的一个功能,用于配置全局的一些环境&参数等

Jenkins自动化构建项目配置_第8张图片

Jenkins自动化构建项目配置_第9张图片
Jenkins自动化构建项目配置_第10张图片

SSH 脚本

在构建后操作这一步,有一个地方是用来执行脚本的

sh /data/tomcat-gkxy/recruit-api-c/update_version.sh

update_version.sh脚本的主要作用,是备份项目,复制、解压、kill tomcat服务,启动tomcat服务的脚本

脚本主要内容如下:

#!/bin/bash
# 环境变量处理,解决 jinkens 读取不到环境变量的问题
# 系统级环境变量
if [ -f "/etc/profile" ]; then
        . /etc/profile
fi

# 用户级环境变量
bash_profile="$HOME/.bash_profile"
profile="$HOME/.profile"

exe_file=""

if [ -f "$profile" ]; then
	exe_file=". $profile"
elif [ -f "$bash_profile" ]; then
	exe_file=". $bash_profile"
fi

$exe_file

set -e
# 环境变量处理完毕

path=$(cd "$(dirname "$0")" ; cd ../; pwd)
war_path=$(cd "$(dirname "$0")" ; pwd)
service=`echo "$war_path" | awk -F "/" '{print $(NF)}'`

echo "update version path=$path , service=$service"

# set backup path
backup="$path/backup"
if [ ! -d "$path/backup" ];then
        echo "$path/backup not exists create it .." 
        mkdir $path/backup
fi

# get cur_time
cur_time=$(date +%F-%H-%M-%S)

# check service run status
running_count=`ps -ef | grep "$path/" | grep -v "grep" | wc -l`

echo "tomcat:$path running_acount=$running_count"
if [ $running_count -gt 0 ]; then
    echo "service($service) already running, try kill it."
    echo "stop tomcat service : $path"
    ps -ef | grep java | grep $path/ | awk  '{print $2}' | xargs kill -9
fi

# webapps backup
if [ -d "$path/webapps/$service" ];then 
	echo "backup $path/webapps/$service to $backup/$service.$cur_time"
	mv $path/webapps/$service/ $backup/$service.$cur_time
fi

#delete work
rm -rf $path/work/

mkdir -p $path/webapps/$service

# unzip war
unzip $path/$service/$service.war -d  $path/webapps/$service

#start the tomcat serice
cd $path
./bin/startup.sh start


你可能感兴趣的:(Maven,java,开发工具)