利用jenkins+harbor+k8s搭建起一套实时更新测试环境

本文介绍了如何利用jenkins、harbor和k8s搭建一套实时更新测试环境的流程。首先,通过jenkins的project1获取探针新版本并触发project2。接着,project2复制探针文件,合成新的镜像,推送到harbor仓库。最后,更新k8s集群中的镜像以完成自动化测试环境更新。
摘要由CSDN通过智能技术生成

利用jenkins+harbor+k8s搭建起一套实时更新测试环境

带有图片原版博客地址:https://blog.zhenglin.work/other/devops_practices_k8s.html

场景描述

有这么一场景,Java被测应用和Java探针一起制作成镜像后部署到k8s环境,当有新版探针发布时,要基于新版探针制作一个新的镜像,并在k8s集群中更换镜像。

  • 分析需求后,决定用两个jenkins project来完成这个任务。
  1. 第一个project,把原来编译打包探针project中增加触发下游项目和传递探针版本参数功能。
  2. 第二个project,由第一个project触发;1,copy第一个脚本编译出来的探针文件,然后利用docker插件把最新探针文件连同被测应用镜像合成出 我们需要的镜像;2,推送到harbor仓库;3,最后在k8s集群更新镜像。

实现步骤

project1的实现

  • 插件准备:"Environment Injector " “Copy Artifact” "Parameterized Trigger " 一些基础的插件这里不再说了;
  • 原有project功能说明

​ 我们探针源码有多个分支,有开发用的dev、测试用的test,以及正式版本uat-x.x.x(x为数字);关于正式版呢,在测试通过后,会基于test分支创建出一个uat-x.x.x的正式版。这个时候人为构建project时,输入正式分支版本号,即可下拉这个版本源码,进行编译、和打包存档操作。

project 部分截图

拉取指定分支源码

[外链图片转存失败(img-sucnjy2b-1563714386265)(images/1563352085287.png)]

编译和存档,编译在execute shell模块实现编译&#

这是一个比较复杂的流程,需要多个步骤和工具协同完成。以下是基本的步骤和工具: 1. 创建Gitee代码仓库并将您的Go项目推送到该仓库。 2. 在Jenkins中创建Pipeline,并在Pipeline中定义构建、测试和部署步骤。 3. 创建Harbor镜像仓库,并将您的Go项目打包成Docker镜像并推送到Harbor仓库。 4. 配置Kubernetes集群,以便从Harbor仓库中拉取镜像并部署到Kubernetes集群。 5. 在Jenkins中使用Kubernetes插件,将Go项目部署到Kubernetes集群。 以下是更详细的步骤和工具: 1. 在Gitee上创建代码仓库并推送代码: a. 创建一个新的Gitee代码仓库,将您的Go项目推送到该仓库中。 b. 创建一个名为“Jenkinsfile”的文件,其中包含您的Jenkins Pipeline定义。将此文件推送到Gitee仓库中。 2. 在Jenkins中创建Pipeline: a. 在Jenkins中创建一个新的Pipeline,将您的Gitee仓库链接到Jenkins中。 b. 在Pipeline中定义构建、测试和部署步骤。例如,您可以使用`go build`和`go test`命令来构建和测试您的Go项目。然后,您可以使用Dockerfile将Go项目打包成Docker镜像。 c. 在Pipeline中使用Jenkins Kubernetes插件将Docker镜像推送到Harbor镜像仓库中。 3. 创建Harbor镜像仓库并将镜像推送到仓库: a. 在Harbor中创建一个新的镜像仓库。 b. 在Jenkins Pipeline中使用Docker命令将您的Go项目打包成Docker镜像,并将该镜像推送到Harbor镜像仓库中。 4. 配置Kubernetes集群: a. 在Kubernetes集群中安装并配置Harbor镜像仓库,以便能够从该仓库中拉取镜像。 b. 配置Kubernetes Deployment和Service,以便从Harbor镜像仓库中拉取您的Go项目的Docker镜像并在Kubernetes集群中部署该项目。 5. 在Jenkins中使用Kubernetes插件部署Go项目: a. 在Jenkins中使用Kubernetes插件,将您的Go项目部署到Kubernetes集群中。 b. 测试您的Go项目是否正确地部署在Kubernetes集群中,并且可以正常运行。 以上是一个比较完整的流程,其中包含了多个工具和步骤。您可以根据自己的实际情况和需求进行适当地调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值