流程是代码提交到gitee,jenkins中点击构建,自动删除目标服务器之前运行的jar包、拉取代码、构建、将jar包传到目标服务器、运行jar包。

1.下载jenkins运行

jenkins 配置git凭据 jenkins gitee_jenkins


java -jar jenkins.war --httpPort=8084

jenkins 配置git凭据 jenkins gitee_gitee_02


然后根据初始密码,创建账号,下载推荐插件、 maven插件、publish over ssh。

jenkins 配置git凭据 jenkins gitee_gitee_03

2.配置git

新建maven任务后配置任务

jenkins 配置git凭据 jenkins gitee_运维_04


jenkins 配置git凭据 jenkins gitee_gitee_05


Linux安装git

yum install -y git

3.配置maven

下载maven传到服务器

解压

tar -zxvf apache-maven-3.8.6-bin.tar.gz 然后移动到usr下

mv apache-maven-3.8.6 /usr/local/maven

jenkins 配置git凭据 jenkins gitee_运维_06


然后配置jenkins

jenkins 配置git凭据 jenkins gitee_gitee_07


然后配置项目

jenkins 配置git凭据 jenkins gitee_maven_08

对应git上pom的位置

jenkins 配置git凭据 jenkins gitee_jenkins 配置git凭据_09


如果有项目名称还需要增加路径

4.配置构建后自动部署

配置远程服务器,就是代码运行的服务器

jenkins 配置git凭据 jenkins gitee_jenkins_10


配置构建后执行的命令

构建完成后,会将jar包传到目标服务器,然后运行

//日志文件在root下 mylog.log

jenkins 配置git凭据 jenkins gitee_jenkins 配置git凭据_11


在jenkins本地的位置:

jenkins 配置git凭据 jenkins gitee_gitee_12

5.每次构建停止之前运行的项目

编写脚本

jenkins 配置git凭据 jenkins gitee_gitee_13

#! /bin/bash

#删除历史数据
rm -rf test01

appname=$1
#获取传入的参数
echo "arg:$1"


#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
        then
                echo "$appname not started"

        else
               kill -9 $pid
                echo "$appname stoping...."

check=`ps -ef | grep -w $pid | grep java`
if [ -z $check ];

        then
                echo "$appname pid:$pid is stop"
        else
                echo "$appname stop failed"

fi


fi

在windows编辑后,运行脚本会报文件或目录找不到
解决办法是:
vim filename,编辑文件,执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。

配置jenkins构建前运行脚本

jenkins 配置git凭据 jenkins gitee_jenkins_14


至此就可以提交代码,然后在jenkin点构建就行了。

6.每次提交代码自动构建

流程是gitee配置webhook,有代码提交时触发一个请求,jenkins收到请求会自动构建

下载插件 可以免登录jenkins

jenkins 配置git凭据 jenkins gitee_jenkins 配置git凭据_15


jenkins 配置git凭据 jenkins gitee_jenkins_16

配置gitee webhook 这个请求路径在上面下载的插件详情中可以找到

jenkins 配置git凭据 jenkins gitee_jenkins_17


这里配置本机地址不行,配置远程服务器地址的话应该就没问题了