云原生技术落地实现之一KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (1/2)

简介: 云原生技术落地实现之一KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (1/2)

🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅

== 博主介绍:== Java领域优质创作者,博客之星城市赛道TOP20、CSDN博客专家,专注于前端流行技术框架、Java后端技术领域、项目实战、云原生技术之开发运维Devops、k8s、docker容器技术以及GIS地理信息领域。

🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅


👇🏻 精彩专栏推荐订阅👇🏻 欢迎点赞收藏评论拍砖…


云原生技术落地实现】之一《KubeSphere DevOps在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD 》(1/2)

云原生技术落地实现】之二《KubeSphere DevOps在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD 》(2/2)


感兴趣的可以先收藏起来相关问题都可以给我留言咨询,希望帮助更多的人。


本文中的实操部分需要以下基础条件:

  1. docker容器基础
  2. k8s基础
  3. 已经搭好一套k8s集群
  4. 已经部署好ks平台
  5. ks中开通devops插件

1、DevOps简介

DevOps 是一系列做法和工具,可以使 IT 和软件开发团队之间的流程实现自动化。其中,随着敏捷软件开发日趋流行,持续集成 (CI) 和持续交付 (CD) 已经成为该领域一个理想的解决方案。在 CI/CD 工作流中,每次集成都通过自动化构建来验证,包括编码、发布和测试,从而帮助开发者提前发现集成错误,团队也可以快速、安全、可靠地将内部软件交付到生产环境。

2、Jenkins

KubeSphere DevOps深度整合自动化构建部署工具jenkins,以下内容需要jenkins的基础,关于Jenkins的参考文章请参见我写的上篇文章:

Jenkins自动构建 CI/CD流水线学习笔记(从入门到入土,理论+示例)

以及jenkis官网:https://www.jenkins.io/zh/doc/book/pipeline/

3、创建Devops工程&Jenkins可视化

打开ks平台,以dev权限的账号登录ks,创建一个企业空间,然后创建devops项目。

3.1、创建企业空间

3.2、创建devops项目

devops项目创建成功!!可以开始使用devops项目了。

3.3、jenkins可视化

创建流水线:

点击下一步:

开始创建,创建完成:

选择编辑流水线:

选择模板:

点击创建:

最后点击确认,进行保存

这里可以点击编辑jenkinsfile可以查看和编辑流水线文件:

4、拉取代码

点击编辑流水线:

选择 Jenkins Agent

agent 部分指定整个流水线或特定阶段 (Stage) 将在 Jenkins 环境中执行的位置,具体取决于该 agent 部分的放置位置。该部分必须在 pipeline 块的顶层进行定义,但是阶段级别的使用为可选。

4.1、内置 podTemplate

podTemplate 是一种 Pod 模板,该 Pod 用于创建 Agent。用户可以定义在 Kubernetes 插件中使用的 podTemplate。

当流水线运行时,每个 Jenkins Agent Pod 必须具有一个名为 jnlp 的容器,用于 Jenkins Controller 和 Jenkins Agent 之间进行通信。另外,用户可以在 podTemplate 中添加容器以满足自己的需求。用户可以选择使用自己的 Pod YAML 来灵活地控制运行时环境 (Runtime),并且可以通过 container 命令来切换容器。

KubeSphere 内置了一些 podTemplate,用户无需编写 YAML 文件,极大降低学习成本。

在目前版本中,KubeSphere 内置了 4 种类型的 podTemplate:base、nodejs、maven 和 go,并且在 Pod 中提供隔离的 Docker 环境。

  1. podTemplate base
  2. podTemplate nodejs
  3. podTemplate maven
  4. podTemplate go
4.2、编辑拉取代码流水线

首先选择最基本的代理类型和label标签:

开始编辑第一步,拉取代码:

首先创建登录代码仓库的账号密码的凭证。

然后返回编辑流水线:

添加步骤:

添加一个shell步骤,用来拉取代码成功后打印所有的文件信息。

最终的步骤:

开始运行流水线:

4.3、查看流水线日志,拉取代码成功

拉取代码的流水线运行成功,拉取代码成功。

5、项目编译

5.1、编写mvn脚本

然后运行流水线:

项目编译成功!!

5.2、修改maven中央仓库的地址为阿里云地址

修改maven的中央仓库地址

<!-- 阿里云镜像 -->
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

此时,再次运行时,下载包用的是阿里云仓库地址:

5.3、缓存机制

已及下载过的包,下一次流水线的启动,不会重复编译打包。

项目编译阶段成功pass了!!

6、构建镜像

docker build -t tiger-java-demo:v1.0 .

镜像构建成功!!!

在集群b节点上查看镜像:

docker images

新创建的镜像被分配到b节点上进行保存。

下一节内容请翻阅(2/2)


坚持到底,就是胜利,只有坚持到最后的人,才能享受到成功的喜悦。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
4月前
|
运维 Cloud Native Devops
云原生 DevOps CI/CD 概述
【1月更文挑战第7天】云原生 DevOps CI/CD 概述
|
7月前
|
Devops jenkins Java
【devops】六、CI、CD入门操作
【devops】六、CI、CD入门操作
|
2月前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
55 1
|
2月前
|
Devops 开发工具 数据安全/隐私保护
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
62 0
|
12月前
|
Devops 开发工具 git
devops之CI极简教学视频---git(下)
devops之CI极简教学视频---git(下)
|
jenkins Devops Java
jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)
jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)
jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)
|
存储 Kubernetes Java
DevOps基于k8s发布系统CI/CD的实现
在微服务、DevOps和云平台流行的当下,使用一个高效的持续集成工具也是一个非常重要的事情。虽然市面上目前已经存在了比较成熟的自动化构建工具,比如jekines,还有一些商业公司推出的自动化构建工具,但他们都不能够很好的和云环境相结合。那么[究竟该如何实现一个简单、快速的基于云环境的自动化构建系统呢](https://github.com/tiandizhiguai/dhorse)?
DevOps基于k8s发布系统CI/CD的实现
|
存储 运维 监控
DevOps,CI,CD,自动化简单介绍
DevOps,CI,CD,自动化简单介绍
307 0
DevOps,CI,CD,自动化简单介绍
|
Cloud Native jenkins Java
【云原生】DevOps(三):CI、CD持续集成|交付|部署
【云原生】DevOps(三):CI、CD持续集成|交付|部署
338 0
|
2月前
|
运维 安全 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
在数字化转型的浪潮中,企业对于IT基础设施的要求越来越高,不仅需要快速响应市场变化,还要确保系统的稳定与安全。本文深入探讨了如何通过融合DevOps文化和容器化技术来构建一个高效、稳定且易于管理的云基础设施。通过实际案例分析,阐述了持续集成/持续部署(CI/CD)流程的优化、自动化测试、监控以及日志管理等关键环节的实施策略,旨在为运维专业人员提供一套切实可行的解决方案。
31 3

热门文章

最新文章