持续集成与持续发布流程

建木持续集成平台v.发布:简化DevOps流程的工具 通过使用JianMu CI,团队可以更加专注于开发和创新,同时减少手动操作和人为错误的风险,从而提高软件开发的效率和质量。在现代软件开发中,持续集成(Continuous Integration,CI)是一种关键的开发实践,它旨在通过频繁地集成代码和进行自动化测试来减少开发周期,并确保团队的代码质量。通过使用这样的工具,您可以更好地应对快速迭代和交付的需求,为团队的成功和项目的成功奠定坚实的基础。实时日志和报告:JianMu CI提供实时日志和报告功能,使用户可以随时查看构建和测试的进展情况。 阅读详情

前言

之后的工作中会负责版本控制与发布,所以根据现有的逻辑整理一下持续集成与发布的流程。
首先,持续集成,持续发布,这个概念通过这篇文章有个大致的了解https://yq.aliyun.com/articles/72400
自己总结了一下,对于传统的开发模式,一般使用的代码管理工具是svn,svn放置于一台服务器中,每次从svn中down下来最新的代码,修改后上传到服务器。但是若大幅度提交导致服务器挂掉,会导致代码的缺失等问题;另外,传统的开发模式,多数在开发完成之后,再进行测试,测试通过一轮手工测试后,部分公司会在上线前进行一轮回归测试。
这样的问题,显而易见,项目周期延长,人力成本过高。

流程

项目流程图
一张图片来看一下,现在的工作流程:
首先,分为3个环境:
集测环境:代码递交–静态检查—单元测试–接口测试等
预上线环境(灰度发布):在registry节点打包—生成image镜像,利用上线环境数据测试–接口测试、性能测试等
上线环境:使用预上线环境的image

开发阶段

1.团队成员工作在develop分支上,develop分支只允许提交将在下个版本发布的代码
2.提交到develop分支的代码要求是可以工作的代码,不能导致代码构建失败
3.Jenkins监控develop分支代码更新,进行docker镜像构建,并更新到集测环境,产品经理可以在集测环境看到最新的开发进展
4.对于不在下一个版本发布的特性,应fork独立的feature/xxx分支进行开发,在下一个release/x.x版本fork之后再merge到develop分支

预发布

1.预发布条件:develop分支已经包含本次发布的所有特性,且集测环境验证通过,进入预发布阶段
2.假设待发布的版本号是: 1.0,从develop分支fork出release/1.0
3.使用Jenkins的yuce_release项目生成构建,填写本次构建的版本号:1.0,构建生成待预发布的docker镜像
4.进入预发布环境,同步生产数据库到预发数据库,按需升级预发数据库(可选),使用预发布的docker镜像更新预发布环境,进行预发布环境的验证测试
5.验证测试期间,若发现bug,则在release分支上进行修复,并将改动merge回develop分支,重复3-4-5

发布

1.发布条件:团队成员确认预发布环境验证通过,进入发布阶段
2.进入生产环境,备份生产数据库,按需升级生产数据库(可选),使用预发布验证过的docker镜像,更新生产环境,进行生产环境的验证测试
3.团队成员确认生产环境验证通过,至此本次发布完成

另外以上基于自动化测试很完善的情况。在没有自动化测试时,很难做到对质量的控制。目前企业级比较认可的覆盖率是75%左右。其次是看漏测率,有时候自动化用例本身也可能有Bug,前期阶段通过比较手动测试自动化测试的结果来判断自动化测试是否有效。(–引自熟悉概念的那篇文章)

所以,自动化测试方面,任重而道远

持续集成和自动化部署实施方案 立即下载

相关推荐

TortoiseGit提示No supported authentication methods available错误

一、问题 在使用TortoiseGit与远程仓库进行同步代码的时候提示如下错误,即:没有支持认证的方法可用。而GitBash却可以正常使用,不受影响。 通过调查,发现应该是TortoiseGit远程仓库的公匙无法和本地的密匙进行匹配认证造成的(主要是TortoiseGit缺少本地密匙)。由于TortoiseGit的默认网络SSH client是TortoiseGitPlink.exe,如下图所示。因此主要有两种方式来解决该问题: 不修改TortoiseGit的默认网络SSH client,此时需要为To

Jeffxu_lib的博客 2万+

敏捷开发 持续集成与发布_如何自动化持续集成和开发的版本控制和发布

敏捷开发 持续集成与发布One of the most important tools in developing great software is the ability to automate. Imagine every time you need to release code to production, you have to repeat the same manual steps...

weixin_26720549的博客 513

Cadence SIP Layout 简单教程-第二章

[从whp1920 网易博客迁移至优快云] 第一章在正式布线之前做了必须做的准备工作,下面进入正题,打开Candence SIP RF Layout GXL软件。 第一节 导入外形尺寸 打开SIP设置文件保存路径,如下图所示进入导入DXF页面,选中前一章时画好的外框图。打开导入界面后,再进入DXF In Edit/View Layers界面选择所有层,导入Class选择DRAWING FOR...

whp1920的博客 6939

持续发布(CD Continuous Deployment)

持续发布CD的特征及内容

xiphi_6的专栏 779

Obsidian+llama3:终于搭建了自己的知识库

Obsidian 的 Smart Connections,超出了我原本的预期,于是结合新模型非常方便地搭建了我的个人知识库。

谢彦的技术博客 3712

IPD的分析工具与模型(十六)CBB公用基础模块管理实现资源共享,缩短开发周期降低成本

CBB流程的开发环节,基于CBB规划中所识别和设计的CBB,进行CBB的详细设计(包括参数设计和接口设计),并最终实现CBB的落地开发。作为特殊类型的技术构件,CBB的开发流程,可沿用技术开发中的构件开发流程,具体包括概念、计划、开发和迁移等步骤,具体可参见前文的相关介绍。有了蓝图与架构设计,落地实施是关键攻坚。具体工作内容包括:具体工作内容包括:a. 以相似性、聚类、相对独行性、可组合、可扩展性、可维护性等原则为指导,按照产品的功能特征和业务类型,聚焦零散的功能点,形成功能模块,实现产品功能模块的划分;

Easyways1的博客 1378

测试中常说的持续集成是什么?有什么好处?

一、持续集成流程 正式接收开发转过来的包之前,先从 svn 上下载代码,给它做次静态代码检查,然后编译打包。可以在开发的服务器或者自己的服务器运行单元测试文件。单元测试后,没用什么大的 bug,再部署到测试环境中。测试环境部署完成后先做冒烟测试,尽快看看主流程有没有问题。如果冒烟测试没问题就做回归测试。当然 Jenkins 也可以做其它事情。 以上 6 个流程,能不能都做得到,都是看公司情况来决定的。 代码检查有 2 种方式,开发自己检查代码叫做代码走查,静态代码检查是 Jenkins 自动执行的。 二、持

Asaasa1的博客 3088

Scrapy实现微博关键词爬虫(爬虫结果写入mongodb)

话不多说,上代码: spiders文件夹下的microBlogSpider.py里这样写: # -*- coding: utf-8 -*- import scrapy from scrapy import Spider, Request, FormRequest from scrapy.selector import Selector import datetime import random from blogSpider.items import microBlogItem, keyWordItem f

qq_39360565的博客 1779

jenkins ---持续集成/持续发布

持续集成/持续发布CI/CDJenkinsJenkins概述Jenkins目标Jenkins特性 CI/CD 持续集成/持续发布 开发(git) -->git主库–>jenkins(git+jdk+tomcat+maven打包+测试)–>发布到tomcat服务器 jenkins Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。 意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址U

weixin_50345059的博客 4297

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1304

Python电商网站全站爬虫实战:以京东为例的数据采集与分析

随着电子商务的蓬勃发展,电商数据已成为市场研究、竞争分析和消费者行为研究的重要资源。本文详细介绍了如何使用Python最新技术栈构建一个高效的电商网站全站爬虫,以京东为例实现商品数据的自动化采集。文章涵盖了爬虫的法律与伦理考量、技术选型、反爬虫策略应对、分布式架构设计以及数据存储方案,并提供了完整的代码实现。本爬虫系统采用Scrapy-Redis分布式框架、Selenium动态渲染、智能代理轮换和机器学习验证码识别等先进技术,能够稳定高效地抓取京东全站商品数据,为电子商务研究提供数据支持。关键词。

2201_76125261的博客 414

KeepingYouAwake持续集成终极指南:从Makefile到自动化发布的完整流程

KeepingYouAwake是一款功能强大的macOS防睡眠工具,通过模拟用户活动防止系统进入睡眠模式。作为一个开源项目,它采用了专业的持续集成流程,确保代码质量和发布稳定性。本文将深入解析KeepingYouAwake的自动化构建系统,帮助开发者理解其高效的发布机制。 ## 🛠️ Makefile构建系统核心解析 KeepingYouAwake的Makefile是整个持续集成流程的基石。

gitblog_00437的博客 789

COMSOL介电弹性体数值仿真指南:预拉伸圆形DEA的稳态变形分析(II)

本期博客是《COMSOL介电弹性体数值仿真指南》系列博客中的一期。聚焦于介电弹性体驱动器(DEA)中最为经典的预拉伸圆形DEA驱动器构型,对其在COMSOL平台中的具体建模步骤进行介绍与讨论。

忘了面孔的Batou 353

持续集成与持续部署实践:实现高效、安全的代码发布流程

持续集成(Continuous Integration, CI)是指开发人员将代码频繁地集成到共享的代码库中,通常是每日多次。每次集成都触发自动化构建与测试流程,以验证代码是否能够成功构建并通过所有单元测试。CI 的目标提高代码集成频率,避免“集成大山”。提早发现和修复问题。提升开发者的信心。持续部署(Continuous Deployment, CD)是指将通过持续集成的代码自动部署到生产环境中,确保代码可以频繁、可靠地交付给用户。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 867

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MoviePilot持续集成/持续部署:自动化构建与发布流程

你是否还在为NAS媒体库管理工具的部署流程繁琐而困扰?手动编译、配置环境变量、处理依赖冲突、版本更新维护——这些重复性工作不仅耗时,还容易出错。MoviePilot作为一款强大的NAS媒体库自动化管理工具,提供了完整的持续集成/持续部署(CI/CD)解决方案,让开发者和用户能够轻松实现从代码提交到应用部署的全流程自动化。 本文将深入剖析MoviePilot的自动化构建与发布流程,包括Docker...

gitblog_00776的博客 795

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Ant Design Landing持续集成与部署:自动化发布流程完整指南

Ant Design Landing作为基于Ant Design设计系统的专业落地页解决方案,其持续集成与部署流程对于保证项目质量和发布效率至关重要。通过自动化流程,团队可以快速构建、测试和发布高质量的Landing页面。 ## 🚀 为什么需要持续集成与部署? 在Ant Design Landing项目中,持续集成与部署能够: - **自动化构建**:每次代码提交后自动运行构建流程 - *

gitblog_00305的博客 802

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MediaCrawler爬虫持续集成/持续部署:自动化构建与发布流程

MediaCrawler项目通过GitHub Actions实现了完整的持续集成/持续部署(CI/CD)流程,确保代码提交后自动完成构建、测试和文档部署。核心工作流定义在[.github/workflows/deploy.yml](https://link.gitcode.com/i/6b9395a4535a86720b57d2e0c096c24c)文件中,采用"构建-部署"两阶段架构,支持Vit...

gitblog_01184的博客 690

Magic持续集成部署:自动化构建与发布流程完整指南

Magic作为首个开源的一体化AI生产力平台,其持续集成部署流程是项目高效运行的关键。通过自动化构建与发布,Magic能够实现快速迭代和稳定交付,为开发者提供极致的开发体验。🚀 ## 为什么需要持续集成部署 在复杂的AI应用开发中,手动部署往往效率低下且容易出错。Magic的持续集成部署系统通过以下优势解决了这些问题: - **自动化构建**:代码提交后自动触发构建流程 - **环境一致性

gitblog_00636的博客 932

Android-Image-Cropper持续集成:自动化构建与发布流程终极指南

Android-Image-Cropper是一个专为Android优化的图像裁剪库,为相机和相册提供了强大的图片处理功能。本文将详细介绍如何为这个优秀的Android图像裁剪库建立完整的持续集成流程,实现自动化构建与发布。🚀 ## 📋 为什么需要持续集成 持续集成是现代软件开发的重要实践,对于Android-Image-Cropper这样的开源库尤为重要: - **保证代码质量**:每次

gitblog_00479的博客 755

今日热榜持续集成与部署:自动化构建与发布流程终极指南

今日热榜是一个使用Go语言编写的聚合网站,能够快速抓取各大热门网站的热门头条信息。本文将为您详细介绍该项目的完整持续集成与部署流程,帮助您实现自动化构建与发布。 ## 🚀 项目架构概览 今日热榜项目采用模块化设计,主要包含以下核心组件: - **数据采集模块**:[App/GetHot.go](https://link.gitcode.com/i/6ba55b7c5c1472988922e

gitblog_00142的博客 1096

Ultimate Vocal Remover GUI持续集成:自动化构建与发布流程

在AI驱动的音频处理领域,Ultimate Vocal Remover (UVR) GUI作为一款基于深度神经网络的人声消除工具,面临着复杂的构建和发布挑战。项目依赖PyTorch、FFmpeg、Rubber Band等多个关键组件,支持Windows、macOS和Linux三大平台,每个平台都有特定的依赖管理和打包需求。 传统的手动构建方式不仅效率低下,还容易引入人为错误。本文将深入探讨如何为...

gitblog_00318的博客 818

OpenFoodFacts-androidapp持续集成实践:从代码提交到Play Store发布的完整流程

OpenFoodFacts-androidapp是一个开源的Android应用项目,致力于提供食品信息扫描和查询功能。本文将详细介绍该项目从代码提交到Play Store发布的完整持续集成流程,帮助开发者了解如何高效、稳定地交付应用更新。 ## 一、项目构建配置:多维度保障构建质量 OpenFoodFacts-androidapp采用了灵活的构建配置,通过多维度保障构建质量。项目使用Gradl

gitblog_00678的博客 575

k9s持续集成流程:自动化构建和发布管道

作为一款流行的Kubernetes终端管理工具,k9s面临着复杂的发布挑战:多平台支持、版本一致性、依赖管理、容器化部署等。传统的手动发布流程不仅效率低下,还容易引入人为错误。本文将深入解析k9s项目的自动化构建和发布管道,展示如何通过现代化的CI/CD实践确保高质量的持续交付。 ## k9s项目架构概览 k9s是一个基于Go语言开发的Kubernetes CLI工具,采用模块化架构设计: ...

gitblog_00722的博客 446

lottie-ios部署策略:持续集成与自动化发布流程

在现代开源iOS动画库开发中,lottie-ios面临着多平台支持、版本兼容性、代码质量保证等多重挑战。一个精心设计的持续集成(CI)和自动化发布流程不仅能确保代码质量,还能显著提升开发效率和用户体验。本文将深入解析lottie-ios的部署策略,为您展示如何构建一个高效、可靠的iOS开源项目发布体系。 ## lottie-ios项目架构概览 在深入部署策略之前,让我们先了解lottie-io...

gitblog_01048的博客 357

TachiyomiJ2K持续集成与发布流程详解:从代码提交到APK发布的完整指南 [特殊字符]

TachiyomiJ2K作为一款开源的Android漫画阅读器,其持续集成与发布流程采用了现代化的Gradle构建系统和自定义脚本,确保每次发布都能快速、稳定地交付给用户。📱 ## 项目构建架构概览 TachiyomiJ2K采用多模块Gradle构建系统,核心配置文件包括: - **根构建配置**:[build.gradle.kts](https://link.gitcode.com/i/

gitblog_00390的博客 481
上一篇: Python数据类型总结
Felicia_zhang
博客等级 码龄10年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值