k8s实战之jenkins流水线CICD流程详解

前言

我们在日常开发中,经常会有各种各样复杂的发布需求,而且经常会碰到各种环境,比如:开发环境、测试环境、生产环境。虽然可以使用手动构建、上传服务器部署的方式,如果我们有多个项目应用,每个项目应用又包含多个应用组件部署,如果用手动方式就会非常繁琐而且容易出错。使用Jenkins结合SCM可以实现代码的整个自动化构建部署过程,使我们的项目更加符合CICD标准化流程。

本文中自动构建部署过程大致完成了以下步骤:

  1. 提交spring boot项目代码并打上git tag,上传代码及tag至gitlab
  2. gitlab通过webhook自动触发jenkins执行任务
  3. jenkins获取代码,执行代码编译、构建docker镜像、上传docker镜像至harbor镜像仓库、执行kubectl命令部署至k8s。

本文中采用jenkins pipeline执行整个jenkins的构建过程,在pipeline中使用docker执行maven构建。文中构建的docker镜像的tag直接采用git中的tag。
下面的示例中,jenkins版本为2.121.3,gitlab版本为10.0.2-ce,如果使用的版本不一致可能会有部分设置差异。

部署jenkins

这里采用docker的方式部署jenkins。

  1. 在终端中运行docker命令,使用jenkinsci/blueocean镜像运行容器。
docker run \
  -d \
  -u root \
  -p 8080:8080 \
  -v jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
  1. 访问

你可能感兴趣的:(容器化实践,k8s,docker,jenkins,pipeline,ansible)