🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅
== 博主介绍:== Java领域优质创作者,博客之星城市赛道TOP20、CSDN博客专家,专注于前端流行技术框架、Java后端技术领域、项目实战、云原生技术之开发运维Devops、k8s、docker容器技术以及GIS地理信息领域。
🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅
👇🏻 精彩专栏推荐订阅👇🏻 欢迎点赞收藏评论拍砖…
【云原生技术落地实现】之一《KubeSphere DevOps在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD 》(1/2)✅
【云原生技术落地实现】之二《KubeSphere DevOps在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD 》(2/2)✅
感兴趣的可以先收藏起来相关问题都可以给我留言咨询,希望帮助更多的人。
本文中的实操部分需要以下基础条件:
- docker容器基础
- k8s基础
- 已经搭好一套k8s集群
- 已经部署好ks平台
- 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 环境。
- podTemplate base
- podTemplate nodejs
- podTemplate maven
- 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)
坚持到底,就是胜利,只有坚持到最后的人,才能享受到成功的喜悦。