Jenkins简介
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署的工具。
Jenkins的安装流程这里就不多做介绍,网上有很多这方面的博客详细介绍安装的过程,这里推荐一篇写的比较不错的中文博客: https://www.cnblogs.com/linJie1930906722/p/5965230.html
我这里主要讲解下Jenkins安装完毕后,如果通过Jenkins进行项目配置
项目配置
下面主要讲解新增一个项目的主要配置及说明
-
新增任务
-
描述
-
源码管理
-
构建触发器&构建环境
-
构建
-
构建后操作
系统配置
系统配置也是很常用的一个功能,用于配置全局的一些环境&参数等
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