• 「初级篇」跟我一起学docker(九)--持续系统集成了解下git


    什么是持续集成?

    持续集成(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:

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


    往期docker学习:

    认识docker

    核心概念和安装

    镜像的常用操作

    容器的基本操作

    仓库

    数据卷

    Dockerfile

  • 相关阅读:
    移动端字体单位
    我像素的理解
    了解viewport概念
    移动端知识
    本地存储和会话存储
    一屏滚动滚轮事件
    关于jquery的笔记
    关于bind()方法
    [css] 滚动条样式问题
    [element-ui] 表格功能实现(删除选中)
  • 原文地址:https://www.cnblogs.com/idig88/p/9142339.html
Copyright © 2020-2023  润新知