04: CI(持续集成)/CD(持续交付/持续部署)

1.1 持续集成、持续交付 介绍

    参考博客:https://www.cnblogs.com/cay83/p/8856231.html

  1、传统交付

      1. 传统软件的开发与交付的周期都很漫长,从需求的分析、系统的设计、编写测试用例、系统开发、单元测试、组装测试到交付调试。

      2. 每一次交付、升级,都需要提供基础的硬件、软件的环境、软件的代码、软件的文档与手册。

      3. 工程师都按照之前预演过好多遍的流程,对照着系统的部署手册,一步一步的组装硬件,安装软件,稍有差池,就要按照对应的应急预案进行回滚。

           

  2、技术工程师日常 与 痛点

      1)立项,建代码库,申请资源,拉分支写代码,联调测试,发布到线上,设置监控点,质效分析和总结等等

      2)这些活动存在于不同的平台,每天在不停的重复,需要不停的和各个团队沟通,不停的做研发平台和技术栈的切换

      3)所以我们又回到持续交付的一个原则,如果有一件事让你感觉到痛苦,那么就尽早实现自动化。

      4)梳理出规范化的玩法,采用自动化的高效手段,用技术去解决这些让我们感觉头疼的问题。

      

  3、CI 持续集成 与 CD持续交付

      持续集成(Continuous Integration,CI): 代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈(主要产出是一个镜像)

      持续部署(Continuous Deployment,CD)加将产品部署到 测试环境、预生产环境、生产环境

      持续交付(Continuous Delivery,CD): 将最终产品发布到生产环境,给用户使用

      

  4、产品线发布流程

      

  5、国内一些公司开发的轮子

      阿里云效/codepipeline:https://www.aliyun.com/product/codepipeline

      百度效率云:https://xiaolvyun.baidu.com/

      普元devops平台:http://www.primeton.com/products/devops/

  6、构建持续集成环境介绍

      

      

1.2 构建持续集成环境(搭建Harbor私有镜像仓库:192.168.56.14)

  1、安装Docker(192.168.56.14)

# 1)安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 2)添加Docker软件包源(否则doker安装的不是新版本)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3)安装Docker CE
yum install -y docker-ce

# 4)启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker

# 5)安装docker compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version  # 测试docker-compose是否安装好

  2、安装Harbor(192.168.56.14)

‘‘‘安装Harbor镜像仓库‘‘‘
# 1、下载离线安装包
https://github.com/goharbor/harbor/releases

# 2、解压并配置访问地址‘‘‘
tar zxvf harbor-offline-installer-v1.8.1.tgz
cd /aaa/harbor
vi harbor.yml
‘‘‘
hostname = 192.168.56.14
harbor_admin_password = 123456
‘‘‘

# 3、准备配置
./prepare

# 4、导入镜像并启动
./install.sh

# 5、查看容器状态
docker-compose ps

安装完成后可以登录Harbor:http://192.168.56.14

  3、Git代码版本仓库 

‘‘‘在192.168.56.14安装git仓库 ‘‘‘
# 1、安装Git
yum -y install git
# 2、创建Git用户并设置密码
useradd git
passwd git
# 3、创建仓库(下面三步git仓库已经创建完成)
su - git         # 切换到git用户
mkdir demo.git   # 在git用户家目录创建镜像仓库文件夹 demo.git
cd demo.git
git --bare init  # 初始化镜像仓库

‘‘‘在192.168.56.13中模拟拉取git代码进行测试 ‘‘‘
# 4、模拟拉取并提交代码
yum -y install git
git clone [email protected]192.168.56.14:/home/git/demo.git
touch test.py  # 创建一个文件模拟代码提交
git add .
git commit -m ‘test‘
git push origin master

# 5、配置客户端与Git服务器SSH免交互认证
ssh-keygen  # 生成秘钥
ssh-copy-id [email protected]  # 将私钥拷贝到git服务器
ssh [email protected]  # 在192.168.56.13测试免密登录192.168.56.14

 

1111111111111111

原文地址:https://www.cnblogs.com/xiaonq/p/11371395.html

时间: 2024-07-31 23:51:28

04: CI(持续集成)/CD(持续交付/持续部署)的相关文章

持续集成之应用k8s自动部署

原文:持续集成之应用k8s自动部署 持续集成之应用k8s自动部署 Intro 上次我们提到了docker容器化及自动化部署,这仅仅适合个人项目或者开发环境部署,如果要部署到生产环境,必然就需要考虑很多因素,比如访问量大了如何调整部署,如何更好的应对大并发的情况,如何不停机更新应用,如果想要将Docker应用于具体的业务实现,是存在困难的--编排.管理和调度等各个方面,都不容易.于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理,于是 k8s 就出现了. K8S,就是基于容

使用beanstalkd实现定制化持续集成过程中pipeline - 持续集成系列

持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中,最核心的一点就是,如何实现一个可定制化的任务流,即所谓的pipeline. 在传统的持续集成工具实现了pipeline功能,以供串联上下游job,并把多个job联系成一次完整的构建,例如jenkins的pipeline插件. 但是各种持续集成工具,或多或少都有自己的短板,总结起来如下: 1.配置并不

Jenkins持续集成案例之-运维部署方式

大家在运维过程中,网站部署是运维的工作之一,中小型公司传统网站部署的流程大致分为如下方法: 需求分析-原型设计-开发代码-提交测试-内网部署-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚.(如下图所示) 案例演示:部署LAMP网站,同时更新网页内容,检查效果! 更新完后的网站内容: 目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集

linux学习:持续集成篇--安装Jenkins持续集成平台-05

一.Jenkins需要使用maven,所以首先安装maven 1.解压 [[email protected] tar]# tar -zxvf apache-maven-3.5.0-bin.tar.gz -C /opt 2.重命名 [[email protected] opt]# mv apache-maven-3.5.0/ maven 3.配置maven环境变量 export JAVA_HOME=/opt/jdk export MAVEN_HOME=/opt/maven export PATH=

Tomcat+Jenkins持续集成工具的安装与部署

1.Tomcat下载地址:http://tomcat.apache.org/download-70.cgi#7.0.91 将下载好的Tomcat压缩包解压至你要存放的路径下即可: 在Tomcat文件夹下,双击运行startup.bat文件 这样就可以启动Tomcat应用服务器了 此时在浏览器中输入:localhost:8080,进入该8080端口页面,如果能成功加载该页面,则证明Tomcat安装有效. 2.接下来安装Jenkins Jenkins下载地址:https://jenkins.io 解

CI / CD /CD 持续集成 持续交付 持续部署

CI / CD /CD 持续集成 持续交付 持续部署 CI CD 是啥?干了啥? CI continuous integration 持续集成 CD continuous delivery 持续交付 CD continuous deploy 持续部署 他们干了点啥 代码自动building 测试环境和项目的自动部署 生产环境和项目的自动部署 恩恩 都是这些 和 管理工作 ** 因为是自动化的 可以在你合并代码后几分钟就开始测试 ** 流程: 用户提交代码到仓库 ->合并代码 -> 自动编译代码

持续集成(一):什么是持续集成(CI)、持续交付(CD)和持续部署(CD)

持续集成.持续交付和持续部署 持续集成 Continuous Integration:持续集成,简称CI,是软件开发周期的一种实践,把代码仓库(Gitlab或者Github).构建工具(如Jenkins)和测试工具(SonarQube)集成在一起,频繁的将代码合并到主干然后自动进行构建和测试. 其实这里最关键的是自动化测试,这个是最难的,因为测试涉及内容很多. 持续交付 Continuous Delivery:持续交付,简称CD,是在CI的基础进行了扩展,在CI环节完成了软件构建和测试工作并形成

持续集成CI与自动化测试

  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 希望对您系统架构,软件项目开发,运维管理,系统架构

GitLab CI持续集成配置方案

目录 1. 持续集成介绍 1.1 概念 1.2 持续集成的好处 2. GitLab持续集成(CI) 2.1 简介 2.2 GitLab简单原理图 2.3 GitLab持续集成所需环境 2.4 需要了解知识 3. 搭建GitLab持续集成环境(NET版) 3.1 环境搭建 3.1.1 基础环境搭建 3.1.2 Git安装 3.1.3 NuGet安装 3.2 相关配置 3.2.1 Git环境变量配置 3.2.2 PowerShell调用测试 3.2.3 GitLab-Runner下载 3.3 Git

持续集成 continuou integration (ci)

CruiseControl :简称 CC ,持续集成工具,主要提供了基于版本管理工具 ( 如 CVS.VSS.SVN) 感知变化或每天定时的持续集成,并提供持续集成报告. Email . Jabber 等等方式通知相关负责人,其要求是需要进行日构建的项目已编写好全自动的项目编译脚本 ( 可基于 Maven 或 Ant) . Ant NAnt Maven 等都是构建工具 他们可以将构建过程自动化 持续发布 持续交付