Jenkins部署项目

一.安装jenkins

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

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

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

1.3 访问Jenkins页面: http://ip:8020

二.Jenkins部署服务

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

yum install git

2.2 将项目clone到服务器

mkdir -p /data/summarize/git

cd /data/summarize/git

git clone http://xxx/xxx.git

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

git config --global credential.helper store

git pull

2.4 创建jar目录并在该目录下创建启动脚本

mkdir -p /data/summarize/jar

编写shart.sh脚本

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配置

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

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

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

shell脚本内容,maven需要提前上传到/usr/local目录,配置settings.xml文件。

cd /data/summarize/git/dcqc-summarize

git pull

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

mv target/summarize-0.0.1-SNAPSHOT.jar /data/summarize/jar/

cd /data/summarize/jar

chmod 777 start.sh

sh start.sh

保存之后构建即可。

相关推荐
Xxtaoaooo24 分钟前
Nginx 502 网关错误:upstream 超时配置的踩坑与优化
运维·nginx·负载均衡·502错误·upstream超时
zzzsde1 小时前
【Linux】初识Linux
linux·运维·服务器
fouryears_234171 小时前
云服务器使用代理稳定与github通信方法
运维·服务器·github
wanhengidc2 小时前
手机云服务是什么意思?
运维·网络·安全·游戏·智能手机
desssq2 小时前
ubuntu 18.04 泰山派编译报错
linux·运维·ubuntu
Dovis(誓平步青云)3 小时前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器
维尔切4 小时前
Shell 脚本编程:函数
linux·运维·自动化
云泽8084 小时前
从ENIAC到Linux:计算机技术与商业模式的协同演进
linux·运维·服务器
wheeldown4 小时前
【Linux】【实战向】Linux 进程替换避坑指南:从理解 bash 阻塞等待,到亲手实现能执行 ls/cd 的 Shell
linux·运维·bash
ZeroNews内网穿透4 小时前
企业远程访问方案选择:何时选内网穿透,何时需要反向代理?
运维·服务器·网络·python·安全