当前位置: 首页 > 知识库问答 >
问题:

如何在jenkins中为spring boot微服务创建管道

堵雅健
2023-03-14

我想做的是在git中提交之后触发一个jenkins管道,以便在Docker中编译和部署微服务。最终,我希望有一个在Kubernetes(可能是AWS)中部署映像的生产配置。

现在,为了工作,微服务需要按顺序开始:

  1. ConfigServer
  2. 尤里卡服务注册表
  3. 网关等。

谢谢!

共有1个答案

皇甫俊雅
2023-03-14

我建议为每个微服务使用单独的存储库。您使用微服务来防止整块,并拥有定义良好的小型服务;似乎只有通过空间将它们分开,即将它们存储在单独的存储库中才是合适的(例如,使其更易于重用)。

然后,您必须在每个回购中提供一个Jenkinsfile。它们基本上是相同的。

如果您想要快速的发布周期,可以在发布时自动部署单个服务。或者,您可以使用一个额外的release train模块来处理整个部署。在这两种情况下,我都将使用一个docker-compose文件来处理服务之间的互连。您可以使用'depends_on、 链接、 volumes_from、和 ;network_mode:“service:...”‘强制执行正确的顺序。有关完整的参考,请参阅docker文档。

Docker-Compose文件

如果希望在特定的时间点发布所有模块,可以使用一个release Train模块,其中docker-compose.yml位于JenkinsFile旁边。然后,当您想要发送应用程序时,您可以启动这个Jenkins-job。

如果您想要在每个服务发布后立即发布,独立于其他服务,则需要从每个模块访问docker-compose.yml。您可以手动执行此操作(因为文件不会经常更改),也可以创建一个docker模块,在所有服务中用作Git子模块。

example-service:
  image: example.service:${EXAMPLE_SERVICE_VERSION}
export EXAMPLE_SERVICE_VERSION=1.1.1
docker-compose -p example-project -f docker-compose.yml up -d example-service
 类似资料:
  • 我读了一些文章,看了一些视频,但在为这些微服务提供服务方面,没有找到具体的建议。我的理解是,他们应该使用自己的应用程序服务器。 我的问题是它们应该部署在不同的服务器上,还是没关系。 当它们在同一台服务器(计算机)上提供服务时,不会有端口冲突吗?

  • 我找不到任何例子或文章,当我们使用Spring Boot+Docker+Jenkins时,连续交付管道会是什么样子。 在我们的新项目中,我们希望在一个虚拟机中部署应用程序作为docker容器。我在Jenkins中为此编写了shell脚本,它工作得很好。 null

  • 我有一个类似于以下内容的Spring启动配置文件, 我已将角度项目中的构建文件复制粘贴到中。 不知道这有没有关系。下面是我的< code>JwtFilter.java, 我尝试过将这些js构建文件添加到元INF /资源,公共 目录结构为: < li>java/... < li >资源/ < ul > < li >资源/ < ul > < li >元信息/ < ul > < li >资源/[包含角度

  • 17.1 编写服务启动入口 package com.clsaa.edu.springboot; import com.clsaa.edu.springboot.bean.Product; import com.clsaa.edu.springboot.mapper.ProductMapper; import org.springframework.boot.SpringApplicati

  • 我正在尝试学习并使用Spring Cloud创建一个微服务。我正在使用Spring mvc和Spring Boot进行开发。我为Eureka服务器和Zuul客户端添加了单独的Spring Boot应用程序。我现在有三个Spring引导应用程序。一台Sureka服务器,一台用于Zuul路由,第三台用于我的微服务应用程序。我运行Eureka服务器,发现微服务和Zuul在Eureka服务器UI中正常运行

  • 问题内容: 是否有任何教程或指南显示如何用PHP编写一个简单的Websockets服务器?我曾尝试在Google上寻找它,但没有找到很多。我找到了phpwebsockets,但是现在已经过时了,不支持最新的协议。我尝试自己更新它,但似乎不起作用。 和客户: 如果我的代码有任何错误,您可以帮我解决它吗?Firefox中的Concole说 问题答案: 我和您最近在同一条船上,这是我的工作: 1)我使用