Jenkins部署项目

一.安装jenkins

1.1进入jenkins官网下载jenkins war包,上传到服务器/usr/local目录。

Jenkins部署项目_第1张图片

1.2执行启动jenkins命令,(注意jenkins版本需要的jdk版本)

/usr/local/java11/bin/java -Djava.awt.headless=true -jar /usr/local/jenkins.war --webroot=/jenkins/war --httpPort=8020

Jenkins部署项目_第2张图片 1.3 访问Jenkins页面: http://ip:8020

Jenkins部署项目_第3张图片

二.安装git拉取项目

2.1 服务器安装git,执行安装命令

yum install git

2.2 将项目clone到本地

#创建项目文件夹

mkdir -p /data/summarize/git

cd /data/summarize/git

git clone http://xxx/summarize.git

 2.3 需要保存git用户密码,执行以下命令再次输入git账号密码

git config --global credential.helper store

git pull

 2.4 创建jar目录,用于放入jenkins打包的jar,并在该目录下创建启动脚本

mkdir -p /data/summarize/jar

编写shart.sh脚本 

cd  /data/summarize/jar

vim start.sh

脚本内容 

#jar名称
Tag="summarize-0.0.1-SNAPSHOT.jar"
# 检查进程状态
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then      
  echo -n "boot ( pid $pid) is running" 
  echo 
  echo -n $"Shutting down boot: "
  pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
  if [ "$pid" != "" ]; then
    echo "kill boot process"
    # kill  "$pid"
    kill -9 "$pid"
  fi
else 
   echo "boot is stopped" 
fi
# 启动项目
nohup java   -Dappliction=$Tag -jar $Tag  > console.out 2>&1   &

 三.Jenkins配置

Jenkins部署项目_第4张图片

3.1 全局属性环境变量,添加如下配置,该配置解决执行start.sh脚本不生效问题 

 Jenkins部署项目_第5张图片

 3.2 配置jenkins任务,选择自由风格

Jenkins部署项目_第6张图片

完整配置如下,其它都不用管。

Jenkins部署项目_第7张图片 shell脚本内容,maven需要提前上传到/usr/local目录,配置settings.xml文件。

#进入项目目录

cd /data/summarize/git/summarize

#同步最新代码

git stash
git pull
git stash pop

#maven打包
/usr/local/maven/bin/mvn clean install -Dmaven.test.skip=true

#移动打包的jar到目录
mv target/summarize-0.0.1-SNAPSHOT.jar /data/summarize/jar/

#进入目录
cd /data/summarize/jar
chmod 777 start.sh

#启动脚本
sh start.sh

保存之后构建即可自动化部署服务了。 

四.多台服务器部署服务

在生产环境中,服务部署需要同时部署到多台服务器并启动,那么该如何操作呢?其实只需要改下jenkins配置脚本内容,添加rsync命令同步文件夹到其它服务器,ssh远程连接执行脚本即可。(注:服务器之间需要提前配置免密登录)

source /etc/profile

#进入项目目录

cd /data/summarize/git/summarize

#同步最新代码

git stash
git pull
git stash pop

#maven打包
/usr/local/maven/bin/mvn clean install -Dmaven.test.skip=true

#移动打包的jar到目录
mv target/summarize-0.0.1-SNAPSHOT.jar /data/summarize/jar/

#同步目录到远程服务器

rsync -avr /data/summarize/jar [email protected]:/data/summarize/jar

#远程连接,进入目录启动脚本

ssh [email protected] "cd /data/summarize/jar; sh start.sh; "

#进入本地目录
cd /data/summarize/jar
chmod 777 start.sh

#启动脚本
sh start.sh

你可能感兴趣的:(jenkins,运维)