使用jenkins部署springboot项目

1.准备工作

1、JDK安装

2、Maven安装

3、Git安装

4、jenkins安装

以上软件安装成功后进入jenkins进行相关配置。

如果需要通过SSH进行远程发布项目,jenkins需要安装 Publish Over SSH 插件

2.全局配置

通过whereis git查找git的安装地址

3.全局配置完成后在进行系统配置 ,如图

4.基础配置完成以后,下面我们来新建一个项目

项目的配置:

5.shell

mvn clean package -Dmaven.test.skip=true
echo $spring_profile $jar_path $jar_name
cd /opt/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
./startup.sh $spring_profile $jar_path $jar_name $project_name

 

6.stop.sh 脚本

#!/bin/bash
jar_name=${ 1 }
echo "Stopping" ${jar_name}
pid= `ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill - 9 $pid
fi

 

7.start.sh 脚本

#!/bin/bash
spring_profile=${ 1 }
jar_path=${ 2 }
jar_name=${ 3 }
project_name=${ 4 }
cd ${jar_path}/${project_name}/target/
echo ${jar_path}/${project_name}/target/
echo nohup java -jar ${jar_name} &
BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

 

### 使用Jenkins部署包含项目的Spring Boot应用程序 为了实现通过Jenkins部署包含项目的Spring Boot应用程序,可以遵循一系列配置和操作流程来设置持续集成/持续交付(CI/CD)管道。这不仅限于简单的构建过程,还包括自动化测试、打包以及最终的部署阶段。 #### 准备工作环境 确保安装并配置好必要的工具和服务,包括但不限于Git用于版本控制、Maven或Gradle作为构建工具、Docker(如果计划容器化应用),当然还有Jenkins本身及其插件如Git Plugin, Maven Integration plugin等[^1]。 #### 创建Jenkins Pipeline脚本 编写Jenkinsfile定义CI/CD流水线逻辑,该文件通常位于项目根目录下。对于一个典型的Spring Boot项目而言,此文件可能如下所示: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/example/heroes-project.git' } } stage('Build') { steps { sh './mvnw clean package -DskipTests' // 假设使用的是Maven } } stage('Test') { steps { sh './mvnw test' } } stage('Deploy') { when { expression { return env.BRANCH_NAME ==~ /^(master|main)$/ } } steps { script { def server = Artifactory.newServer url: 'http://artifactory.example.com/artifactory', credentialsId: 'artifactory_creds' def uploadSpec = """{ "files": [ {"pattern": "target/*.jar", "target": "libs-release-local/com/example/heroes/"} ] }""" server.upload spec: uploadSpec // 或者直接执行部署命令到生产服务器 sshPut remote: myRemote, from: 'target/myapp.jar', into: '/opt/apps/' sshCommand remote: myRemote, command: 'sudo systemctl restart spring-boot-app.service' } } } } post { always { junit '**/target/surefire-reports/**/*.xml' archiveArtifacts artifacts: '**/target/*.jar', allowEmptyArchive: true } } } ``` 上述代码片段展示了如何创建一个多阶段的Jenkins pipeline,涵盖了从源码拉取到最后部署的过程,并且包含了基本的质量门控措施,比如运行单元测试和保存构建产物以便后续分析。 #### 自动触发机制 为了让整个流程更加高效流畅,在完成以上步骤之后还可以进一步配置自动触发条件。例如每当有新的提交推送到特定分支时就启动一次完整的build-deploy循环;或者当某个上游job成功完成后也能够触发展开当前的应用程序更新动作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值