jenkins持续集成

Jenkins 可以整合 GitHub 或 Subversion Husband 也可以整合 GitHub 或 Subversion二者既然是同源的工具软件,操作和指导思想就是接近的

一、更改Jenkins配置

更新插件

 ------------------------------------------------------------------------------------------------------------------------------

 ------------------------------------------------------------------------------------------------------------------------------

二、在Linux下载maven并配置镜像

2.1 下载

1.在/usr/java下面创建文件夹maven

mkdir maven

2.将tar包上传到maven文件夹里面并解压

https://downloads.apache.org/maven/maven-3

tar -zxvf apache-maven-3.8.8-bin.tar.gz

3.配置环境变量

vi /etc/profile

export MAVEN_HOME=/usr/java/maven/apache-maven-3.8.8

export PATH=$MAVEN_HOME/bin:$PATH

使文件生效 source /etc/profile

查看maven版本号

mvn -v

2.2 配置下载镜像

进入maven文件的conf下修改settings文件

三、在Linux上安装git

1.安装依赖环境

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2.删除已有的git

yum -y remove git

3.将tar传输到/usr/java/git并解压

wget https://github.com/git/git/archive/v2.9.3.tar.gz

tar -zxvf git-2.9.3.tar.gz

4.编译

cd git-2.9.3

make prefix=/usr/java/git all

make prefix=/usr/java/git install

5.将环境变量配置到/etc/profile里面

export GIT_HOME=/usr/java/git

export PATH=$GIT_HOME/bin:$PATH

source /etc/profile

6.查看git版本

git --version

四、使用jenkins部署简易的项目

将war包部署到tomcat中

下面给出一个简单示例,将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机)

点击Jenkins主页的新建任务

输入任务名称

选择构建一个自由风格的软件项目后点击确定

在构建内添加构建步骤,选择执行shell

#!/bin/sh
tomcat_path=/usr/java/tomcat/tomcat8081
ShutDownTomcat=${tomcat_path}/bin/shutdown.sh
StartTomcat=${tomcat_path}/bin/startup.sh
echo "============删除旧的war包==================="
rm ${tomcat_path}/webapps/docker.war
echo "============删除tomcat下旧的文件夹============="
rm -rf ${tomcat_path}/webapps/docker
echo "======拷贝编译出来的war包到tomcat下======="
cp /usr/java/project/docker.war  ${tomcat_path}/webapps/docker.war
echo "====================关闭tomcat====================="
${ShutDownTomcat}
echo "================sleep 10s========================="
for i in {1..10}
do
        echo $i"s"
        sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动tomcat====================="
${StartTomcat}





启动jar
#!/bin/sh
jarPath=/usr/java/jar
projectJar=/usr/java/project

# 创建文件夹/usr/java/project
mkdir -p ${projectJar}
echo "====================关闭jar的进程====================="
l=`ps -ef|grep -v grep|grep demo|awk '{print $2}'`
kill -9 $l
echo "============删除旧jar============="
rm -rf ${projectJar}/demo.jar

echo "======拷贝新的jar到运行的目录下面======="
cp ${jarPath}/demo.jar ${projectJar}/demo.jar

echo "================sleep 10s========================="
for i in {1..10}
do
        echo $i"s"
        sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动jar====================="
nohup java -jar ${projectJar}/demo.jar &

保存

构建

五、使用jenkins部署自动项目

需要准备jdk,如果不会安装的话看前面的文章

在Jenkins配置项目

安全管理器

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

 全局工具配置

 

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

Maven 配置

---------------------------------------------------------------------------------------------------------------------------------

配置jdk 

---------------------------------------------------------------------------------------------------------------------------------

 配置maven的环境

---------------------------------------------------------------------------------------------------------------------------------

 配置git

whereis git  查询git安装路径

---------------------------------------------------------------------------------------------------------------------------------

创建任务

下载maven的插件

 

 

---------------------------------------------------------------------------------------------------------------------------------

 配置构建的项目的信息

 

 

 

---------------------------------------------------------------------------------------------------------------------------------

 构建触发器:

---------------------------------------------------------------------------------------------------------------------------------

编译的选项

 

BUILD_ID=DONTKILLME
echo "部署的目录和项目名称"
sh /usr/java/test/build.sh
echo "success"
build.sh配置




#! /bin/bash
echo "部署的目录和项目名称"
DIR="/usr/java/project"
projectName="demo"
echo "待部署的应用服务器"
server_ips="192.168.44.64"
#所有的参数列表
for server_ip in ${server_ips[@]}
do
echo "进行备份操作"
mkdir -p $DIR/backup/${projectName}
mkdir -p $DIR/${projectName}
  if [ -f "$DIR/${projectName}/${projectName}.jar" ];then
    mv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jar
  fi
echo "拷贝jar包到目标服务器的目录下"
cp ${WORKSPACE}/target/*.jar $DIR/${projectName}/${projectName}.jar

echo "目标服务器:$DIR/${projectName}/${projectName}.jar"

echo "连接进行发布操作"
#mv /usr/java/test/demo.jar $DIR/backup/${projectName}/${projectName}.jar
echo "开始关闭jar"
l=`ps -ef|grep demo.jar|grep -v grep|awk '{print $2}'`
for i in $l
do
 kill -9 $i
done
sleep 5s
echo "启动jar"
nohup java -jar $DIR/${projectName}/${projectName}.jar --server.port=9999 &
done

六、测试

每次springboot向gitee推送时,每过5分钟,或手动在Jenkins构建时才能不用手动编译,在向服务器里重新启动项目

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值