git+docker+jenkins持续集成

author author     2022-08-23     567

关键词:

组成:

Git 作为版本控制库 

Docker 搭建测试环境 

Jenkins 作为持续集成服务

Jenkins实现CI(Continuous Integration)到CD(Continuous Delivery)的转换工具。

期望:

1、解决从开发–测试–上线等一系列环境统一及依赖问题 

2、可实现不停服务发布上线和灰度(需要实现LB) 

3、可实现发布回滚 

4、方便devops及运维操作

思路:

  • 客户或产品有新需求变更或者测试人员提出bug时,会提交事件到开发人员,开发人员得到通知,会对开发分支做修改,项目会有不同的分支。

  • 分支中会包含dev和master,开发人员拉取dev分支代码,开发完成后push到dev分支及合并,通知测试人员部署到测试环境测试(Jenkins从Git拉取代码实现打包构建,生成docker image所需要的文件,push到镜像仓库,然后部署到测试环境cc)

  • cc环境测试无问题后,部署到tt和demo环境。

  • 测试环境无问题后通知开发,开发发布代码到master分支(打tag),通知运维上灰度(Jenkins打包tag版本的镜像然后push到镜像仓库),测试无问题后可上线。

  • 客户(线上)环境pull最新镜像,升级现有镜像。如下图


流程图:(来源网络)


具体:

镜像仓库:会提供基础的base版本的镜像,此镜像用于开发人员的自测和jenkins代码镜像的合并,生成新的镜像,开发人员和jenkins会提供相同的生成镜像的dockerfile文件,保证程序环境的统一。

镜像仓库将包含 dev:tag 测试镜像  mastertag 生产镜像


Jenkins:会建立 build-dev、build-product、cc测试环境、tt测试环境、demo环境等项目,用户权限管理对应负责项目。

         build-dev:构建测试镜像,会从Git dev分支拉取代码打包,构建镜像dev:tag,成功后push到镜像仓库中。

         build-product:构建生产镜像,会从Git master分支下的某个tag拉取代码打包,构建镜像product:tag,成功后push到镜像仓库中。 

         cc测试环境:获取到最新构建的dev镜像到cc机器,更新现有的镜像。

         tt测试环境和demo环境:同cc环境

Git: 版本控制,分支dev 分支mastermaster 下各个版本的tag 

此方案是基础版(有部分细节并未考虑到),涉及到重复测试过多,后面可用Selenium前端测试,postman+jenkins API测试或其他工具实现自动化测试,暂时先实现有无问题,后续再优化改进。


实战docker+jenkins+git构建持续集成环境(代码片段)

本文重点介绍jenkins以及让jenkins如何实现在docker容器中运行。jenkins和docker私有仓库又是怎么结合的。docker说明及安装和git说明及安装在本文中不会特别详细的介绍。?并且,在本文中不着重介绍原理性的东西,比如不会介绍什么... 查看详情

ci/cd——构建企业级docker+jenkins+git+harbor流水线自动化持续集成持续发布平台(代码片段)

构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台CI/CD是什么?持续集成(CI)/持续交付(CD)的优势自动化部署流程图GitGithubGitlab的区别前言:一些自己想说的话部署Docker+Jenkins+Git+Harbor流水... 查看详情

ci/cd——构建企业级docker+jenkins+git+harbor流水线自动化持续集成持续发布平台(代码片段)

构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台CI/CD是什么?持续集成(CI)/持续交付(CD)的优势自动化部署流程图GitGithubGitlab的区别前言:一些自己想说的话部署Docker+Jenkins+Git+Harbor流水... 查看详情

基于jenkins+docker+git持续化自动部署项目(详细版一));(代码片段)

软件的安装jenkins的安装jenkins的安装持续集成(CI)持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。持续交付持续交付(Continuousdeliv... 查看详情

docker——jenkins+git+registry构建自动化持续集成环境(ci/cd)(代码片段)

...持续集成(CI)及持续部署、交付(CD)。本文基于Jenkins+Docker+GitSvn实现一套CI自动化发布流程,同时支持撤回。  一、发布流程设计工作流程:开发人员提交代码到Git或Svn版本仓库;Jenkins人工/定时触发项目构建;Jenkins拉... 查看详情

kubernetes和jenkins——基于kubernetes构建jenkins持续集成平台

基于Kubernetes/K8S构建Jenkins持续集成平台Kubernetes+Docker+Jenkins持续集成架构图Kubernetes+Docker+Jenkins持续集成方案好处Kubeadm安装KubernetesKubernetes的架构安装环境准备安装Docker、kubelet、kubeadm、kubectl安装Docker安装kubelet、 查看详情

云原生之docker实战使用docker部署jenkins持续集成工具

【云原生之Docker实战】使用Docker部署jenkins持续集成工具一、jenkins介绍1.jenkins简介2.jenkins功能3.jenkins基本工作图二、检查本地系统版本三、检查本地docker状态1.检查docker版本2.检查docker状态四、安装docker-compose1.下载docker-compose二进... 查看详情

jenkins+docker+springcloud微服务持续集成(下)(代码片段)

Jenkins+Docker+SpringCloud微服务持续集成(下)Jenkins+Docker+SpringCloud部署方案优化Jenkins+Docker+SpringCloud集群部署流程说明修改所有微服务配置修改注册中心的配置其他微服务配置设计Jenkins集群项目的构建参数J... 查看详情

docker+jenkins持续集成

前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的方法吗?肯定是通过域名啊!前提是你注... 查看详情

持续集成:docker下使用jenkins容器构建docker镜像

...#xff0c;看到之前整理的文章不够详细,于是重新整理了docker下使用jenkins的容器进行持续集成的相关文章,拿来分享下docker环境registry镜像:registry:2.6.1docker:17.05.0-ceregistry宿主机IP:192.168.2.10jen 查看详情

(虚拟机vs容器)&(持续集成:敏捷开发&ci&jenkins&git&docker)

原文:https://blog.csdn.net/jingzhunbiancheng/article/details/80994909 容器相比虚拟机更轻量一虚拟机 二容器 一、本质上的区别:VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,... 查看详情

kubernetes和jenkins——基于kubernetes构建jenkins持续集成平台(代码片段)

基于Kubernetes/K8S构建Jenkins持续集成平台Kubernetes+Docker+Jenkins持续集成架构图Kubernetes+Docker+Jenkins持续集成方案好处Kubeadm安装KubernetesKubernetes的架构安装环境准备安装Docker、kubelet、kubeadm、kubectl安装Docker安装kubelet、 查看详情

jenkins+docker+springcloud微服务持续集成(中)(代码片段)

Jenkins+Docker+SpringCloud微服务持续集成(中)微服务持续集成提交到SonarQube代码审查在Jenkins的项目中添加一个参数在每个微服务的根目录中添加sonar-project.properties文件修改Jenkins构建脚本编译打包微服务工程使用Docker... 查看详情

jenkins+docker+springcloud微服务持续集成(上)(代码片段)

Jenkins+Docker+SpringCloud微服务持续集成(上)Jenkins+Docker+SpringCloud持续集成说明概述服务器列表微服务项目说明环境准备Harbor的安装安装DockerCompose安装Harbor访问Harbor在Harbor中创建用户和项目创建用户给私有项目... 查看详情

持续基础怎么搞?jenkins+docker+git实战(代码片段)

...码、代码编码、打包镜像、推送到镜像仓库;Jenkins在Docker主机创建容器并发布主机环境规划:docker-jenkins:  10.0.0.98docker-git-harbor:10.0.0.9901部署Git代码版本仓库安装:[root@docker-git-harbor~]#yuminstallgit-y配置git... 查看详情

jenkins+git搭建持续集成环境(代码片段)

...使得系统在开发中始终保持在一个稳定健康的集成状态。jenkins是目前广泛应用的持续集成工具,本文记录我使用jenkins+Git配置持续集成环境的整个流程以及踩到的坑(jenkins过程的坑往往不是在第一次配置,而是在配置结束后更... 查看详情

jenkins持续集成之git文件状态(代码片段)

Jenkins持续集成之git文件状态git文件状态图git文件状态展示kangdeMacBook-Air:cedarhdkang$gitstatus#git文件状态查询OnbranchmasterYourbranchisuptodatewith‘origin/master‘.nothingtocommit,workingtreecleankangdeMacBook-Air:cedarhdkang 查看详情

持续集成:docker下使用jenkins容器构建docker镜像

...#xff0c;看到之前整理的文章不够详细,于是重新整理了docker下使用jenkins的容器进行持续集成的相关文章,拿来分享下docker环境registry镜像:registry:2.6.1docker:17.05.0-ceregistry宿主机IP:192.168.2.10jenkins的docker镜像ÿ... 查看详情