赞
踩
随着互联网的飞速发展,业务需求也慢慢增多,项目功能也进入快速迭代的时代,使用人工方式部署项目比较麻烦从而显得心有余而力不足。因此,互联网上就有了自动持续集成的概念,它主要的工作是快速对项目进行构建、自动化测试和发布。
Jenkins是一款开源 CI&CD 软件,基于 Java 开发的一种持续集成工具,用于自动化各种任务,包括构建、测试和部署软件。
今天这篇文章就来讲讲Jenkins是如何自动构建Spring Boot项目。
全部安装完成,点击继续。
创建管理员
配置完成后,点击保存。
安装插件
需要安装下面这两个插件,安装步骤:【系统管理】-> 【插件管理】-> 【可选插件】,勾选 Maven Integration , 安装
配置SSH Server
jenkins和SpringBoot项目部署在同一台服务器则可以不用配置
SSH Server 是用来连接部署服务器的,在项目构建完毕后将jar包推送到服务器中并执行相应的脚本。
新建maven
新建步骤:【新建任务】->【填写任务名称】->【构建maven项目】,如下图
源码管理,添加Git仓库并填写凭证
Post Steps
start-jenkins.sh脚本【放到与jenkins同一台服务器的/usr/local目录下】
#!/bin/bash # 找到Springboot项目对应的进程id pid=`ps -ef | grep test-spring-cloud-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` # 如果该项目已经在服务器上启动则kill掉 echo “旧应用进程id:$pid” if [ -n "$pid" ] then kill -9 $pid fi echo "授权" # 让root用户对jar包持有读,写,执行的权限 chmod 777 /root/.jenkins/workspace/test-jenkins/target/test-spring-cloud-0.0.1-SNAPSHOT.jar echo "执行" # jenkins默认会将新打包好的jar包放到/root/.jenkins/workspace/目录下,进入到该目录 cd /root/.jenkins/workspace/test-jenkins/target/ # 后台方式启动jar包 nohup java -jar test-spring-cloud-0.0.1-SNAPSHOT.jar &>jenkinslog.log & echo "启动成功"
deploy.sh脚本
#!/bin/bash # 找到Springboot项目对应的进程id pid=`ps -ef | grep test-spring-cloud-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` # 如果该项目已经在服务器上启动则kill掉 echo “旧应用进程id:$pid” if [ -n "$pid" ] then kill -9 $pid fi echo "授权" # 让root用户对jar包持有读,写,执行的权限 chmod 777 /usr/local/data/test-spring-cloud-0.0.1-SNAPSHOT.jar echo "执行" # jenkins默认会将新打包好的jar包放到/root/.jenkins/workspace/目录下,进入到该目录 cd /usr/local/data/ # 目标服务器后台方式启动jar包 nohup java -jar test-spring-cloud-0.0.1-SNAPSHOT.jar &>jenkinslog.log & echo "启动成功"
start-jenkins.sh脚本与deploy.sh脚本是非常相似的,只是更换了jar的存储路径和在不同的服务器上执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。