什么是持续集成?

持续集成(Continuous integration,简称CI)。

根据敏捷大师Martin Fowler的定义,“持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。

为什么要持续集成?

1 快速发现错误:每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

2 防止分支大幅偏离主干:如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

下面是持续集成的图谱介绍:

1 将更改提交到代码管理仓库

2 持续集成服务器收到请求拉取变更代码

3 持续集成服务器编译代码

4 持续集成服务器跑代码相关测试

5 持续集成服务器测试结束

6 持续集成服务器对结果进行反馈Docker在持续集成中的作用:Docker提供代码编译、打包、测试的相关环境。

优势:

1 环境可以是是任意版本

2 节省空间

3 环境相对隔离

什么是Git?

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

GitHub官网注册:https://github.com/

Git客户端安装:yum install –y git

Git常用命令:

1 初始化git项目

git init

2 查看当前项目状态

git status

3 新建文件并再次查看状态

echo “# My Project” > README.md

git status

4 记录当前操作,记录新加入的文件并再次查看状态

git add README.md

git status

5 记录当前更改并加以信息描述

git commit 文件名 -m’add my first project’

6 查看提交历史

git log

7 新建远程仓库

git remote add origin https://github.com/limingios/git-test.git

8 同步到远程仓库

git push -u origin master

9 从远程代码库同步到本地

git pull origin master

10 与同步前对比变更

git diff HEAD

11 查看当前更改变更

git diff --staged

12 恢复到为更改状态

git reset README.md

13 覆盖本地文件

git checkout octocat.txt

14 新建分支

git branch feature1

15 切换分支

git checkout feature1

16 删除本地分支

git branch –d feature1

Git hook配置

Git也具有在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件、触发器之类的东西类似)。Git Hooks就是那些在Git执行特定事件(如commit、push、receive等)后触发运行的脚本。

按照Git Hooks脚本所在的位置可以分为两类:

本地Hooks,触发事件如commit、merge等。

服务端Hooks,触发事件如receive等。

下图为github的webhooks:

下图为gitlab的webhooks:

个人主页:idig8.com

两者在使用上并没有什么不同,使用命令也是完全兼容的。

往期docker学习:

认识docker

核心概念和安装

镜像的常用操作

容器的基本操作

仓库

数据卷

Dockerfile

跟我一起学docker(九)--持续系统集成了解下git相关推荐

  1. git 为什么不能断点_跟我一起学docker(九)--持续系统集成了解下git

    什么是持续集成? 持续集成(Continuous integration,简称CI). 根据敏捷大师Martin Fowler的定义,"持续集成是一种软件开发实践.在持续集成中,团队成员频繁 ...

  2. 从零开始学Docker

    从零开始学Docker 说明 Docker的安装 查看centos版本(Docker 要求CentOS系统的内核版本高于3.10) 升级软件包及内核 安装Docker 启动Docker 开机自动启动D ...

  3. 【云原生 | 从零开始学Docker】六、如何写出自己的镜像——Docker file

    该篇文章已经被专栏<从零开始学docker>收录 Docker file 数据卷容器 mysql数据共享 结论 Docker File Docker File的介绍 构建步骤 Docker ...

  4. Jenkins与Docker的持续集成实践

    本文讲的是Jenkins与Docker的持续集成实践[编者的话]持续集成(CI/CD)是一种软件开发实践.用于帮助团队成员频繁.快速的集成,测试他们的工作成果,以尽快发现集成错误. 更频繁.更早的集成 ...

  5. 跟风学Docker之四:Docker网络解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 跟风学Docker之四:Docker网络解决方案 博客分类: docker 前言:前面的部分一直都是单机跑docker,但实际 ...

  6. docker 部署java_使用Java EE 7,WildFly和Docker进行持续部署–(第1部分)

    docker 部署java 此博客是开始一个新的hanginar(G + 结伴旅游+ webi NAR),将突出解决方案,框架,应用服务器,工具,部署和更多的内容集中在Java EE的系列. 这些不是 ...

  7. Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

    Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+ ...

  8. Gitlab+Docker实现持续集成(CI)与持续部署(CD)

    作者:愤怒的小猿猿 blog.csdn.net/qq_27520051/article/details/80552220 GitLab CI/CD介绍 首先使用一张图说明GitLab CI的工作流程: ...

  9. Docker学习总结(14)——从代码到上线, 云端Docker化持续交付实践

    2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家罗晶(瑶靖)为在场的听众带来<从代码到上线,云端Docker化持续交付实践>精彩分 ...

  10. Docker学习总结(8)——利用Docker开启持续交付之路

    持续交付即Continuous Delivery,简称CD,随着DevOps的流行正越来越被传统企业所重视.持续交付讲求以短周期.小细粒度,自动化的方式频繁的交付软件,在这个过 程中要求开发.测试.用 ...

最新文章

  1. 数据结构乐智教学百度云_网易云课堂 - 我的职业课堂
  2. 170828、Eclipse Java注释模板设置详解以及版权声明
  3. 7th思妙想 Fun事连连,今天范式7岁啦!
  4. 相关的类代表的颜色和文本对齐方式
  5. mysql 事务 注意 优化_MySQL入门详解(二)---mysql事务、锁、以及优化
  6. List、Set和Map的简单理解
  7. ubuntu hadoop安装教程
  8. 没有什么能难倒程序员,教你如何下载付费歌曲
  9. python螺旋输出矩阵_Python实现打印螺旋矩阵功能的方法
  10. LintCode 交叉字符串
  11. IEEE论文latex模板
  12. 前端面试-面试官常见问题
  13. Linux系统时钟同步
  14. 关于:什么是土地用途管制?针对村庄用地的各个地类每一个用地的用途管制的规则?针对土地用地调整怎么进行申报?
  15. Android Compose 实现渐变背景色
  16. 课程实验三-bomb实验
  17. 用Python处理Excel中的重复行--菜鸟入门
  18. 基于OneDNS实现上网安全防护和监控
  19. 新书上市第13天,在亚马逊Kindle电子书人工智能榜第三,与《未来简史》和李开复《人工智能》同榜
  20. 怎么设置不同页的页眉

热门文章

  1. Python XML解析(转载)
  2. U盘FAT32转换NTFS格式
  3. angular-route 和soket注意细节点
  4. 那些盒模型在IE6中的BUG们,工程狮的你可曾遇到过?
  5. 推荐几款好用的CRM
  6. java属性和普通方法
  7. 二、自定义控件之RadioButtonList
  8. 带着身体在香港肤浅行走(一)
  9. wx:if 与hidden
  10. 浅谈数据迁移测试(转载)