jenkins部署springboot项目

这篇具有很好参考价值的文章主要介绍了jenkins部署springboot项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jenkins部署springboot项目

1、创建一个项目 上传到gitee

1、创建项目
jenkins部署springboot项目,工具,jenkins,spring boot
2、上传到git
jenkins部署springboot项目,工具,jenkins,spring boot

2、jenkins创建一个pipeline项目

Pipeline简介

1)概念
Pipeline,简单来说,一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点 的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

2)使用Pipeline有以下好处:
代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流 程。
持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。
可停止:Pipeline可接 收交互式输入,以确定是否继续执行Pipeline。
多功能:Pipeline支持现实世界中复杂的持续交付要 求。它支持fork/join、循环执行,并行执行任务的功能。
可扩展:Pipeline插件支持其DSL的自定义扩 展 ,以及与其他插件集成的多个选项。

3)如何创建 Jenkins Pipeline呢?

  • Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要单独去学习 Groovy
  • Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法
  • Pipeline 也有两种创建方法:
    • 可以直接在 Jenkins 的 Web UI 界面中输入脚本;
    • 也可以通过创建一 个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkinsfile Pipeline 这种方法)。
      jenkins部署springboot项目,工具,jenkins,spring boot
      流水线项目配置:
      jenkins部署springboot项目,工具,jenkins,spring boot

3、自动化构建配置

1、项目结构
jenkins部署springboot项目,工具,jenkins,spring boot
2、流水线文件详情:
关于流水线语法直接省略、大家也没有必要 去了解和掌握、复制下面的即可

def project_name='jenkins01'
def tag = "latest"

// 执行脚本
node {
    stage('拉取代码') {
         git credentialsId: 'be908ce3-b7d6-425f-b76a-e580044axxxx', url: 'https://gitee.com/xxx/demo_jenkins.git'
    }
	stage('工程编译'){
        //编译,构建
        sh """
            PATH=/usr/localhost/mavenxxx/bin:$PATH
            mvn clean package -Dmaven.test.skip=true
        """
	}
	stage('镜像打包'){
	   // 镜像打包
	  sh 'pwd'
	  sh 'docker build -t jenkins01:latest .'
	}
	stage('docker的部署'){
	     //镜像名称
         def imageName = "${project_name}:${tag}"
         //删除原有容器  
         sh "docker rm -f ${project_name}"
         //容器加一层挂载目录 启动容器
         sh "docker run -id --name ${project_name} -p 9000:9000 ${imageName}"
	}
}

3、dockerFile文件

#FROM java:8
FROM openjdk:8
COPY ./target/demo_jenkins-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 9000
ENTRYPOINT ["java","-jar","/app.jar"]

4、构建结果
jenkins部署springboot项目,工具,jenkins,spring boot
5、上面的脚本存在问题、没有删除容器、删除镜像
我们写一个shell脚本、判断是这个容器是否存在、如果存在关闭容器、删除容器、删除镜像、重新构建

#!/bin/bash
# 容器名称
container_name="你的容器"

# 镜像名称
image_name="你的镜像名字"

# 判断容器是否存在
if docker ps -a --format "{{.Names}}" | grep -q "$container_name"; then
  echo "容器 $container_name 存在"
  
  # 关闭容器
  echo "关闭容器 $container_name"
  docker stop $container_name
  
  # 删除容器
  echo "删除容器 $container_name"
  docker rm $container_name
else
  echo "容器 $container_name 不存在"
fi

# 删除镜像
if docker images --format "{{.Repository}}" | grep -q "$image_name"; then
  echo "镜像 $image_name 存在"
  
  echo "删除镜像 $image_name"
  docker rmi $image_name
else
  echo "镜像 $image_name 不存在"
fi

# 重新构建镜像
echo "重新构建镜像 $image_name"
docker build -t $image_name .

# 启动容器
echo "启动容器 $container_name"
docker run -id --name $container_name -p 9000:9000 $image_name

执行shell脚本:文章来源地址https://www.toymoban.com/news/detail-536938.html

stage('执行shell命令-镜像打包'){
	sh """chmod +x ./docker.sh
	      sh docker.sh"""
}

到了这里,关于jenkins部署springboot项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/hekai7217/article/details/131551042

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包