跟我一起学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:

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

原文地址:http://blog.51cto.com/12040702/2137028

时间: 2024-09-29 14:29:30

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

跟我一起学docker(18)--持续集成(初级终结篇)

如何持续集成 image image 0 :开发人员提交代码到github 1 :触发jenkins操作 2 :jenkins将代码编译.验证 3 :将代码封装在docker镜像并上传至docker仓库 4 :jenkins向marathon发送部署请求,marathon完成相应部署 5 :进行集成测试 6 :集成测试通过,触发研发环境部署 7 :进行集成测试 8 :供用户访问 基于mesos实践 image 环境准备: mesos-slave1:4CPU-64GBRAM-500GB DISK

跟我一起学docker(11)--jenkins+github+Docker

Github+Jenkins+Docker持续集成 这次要做的就是我本地git push到github后,jenkins自动构建 注意:本次课程jenkins必须有公网ip,保证github可以通知jenkins构建. 公网ip服务器 登陆github https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/ 一路回车 1.配置Github 设置秘钥登录 生成密钥: 在git

基于Docker的持续发布都要解决哪些问题 第一集

郑昀编著,文字资料来自于张帆.白俊华.刘飞宇以及网络资料 创建于2015/10/21 最后更新于2015/10/29 关键词:Docker,容器,持续集成,持续发布,CI,私有云 本文档适用人员:广义上的技术人员 提纲: 集装箱还是卷挂载? Host Networking 还是 Bridge Networking? 容器要固定IP吗? 容器内部如何获取宿主机的IP? 待续   首先,你要明白容器并不是虚拟机,虽然它可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于资源要求过高而无法解决的问题

某项目docker化持续集成日记

某项目docker化持续集成日记 要求将某项目的部署方式转变为docker的方式,并和jenkins相结合,主要组件有自身的两个服务(bill-api ,bill-backend)以及mysql.mq.redis 2016-04-18 先申请了2台机器,因为只是demo,所以提出要debian7 3.18内核的,配置的话2x2 4G或以上就可以 得到2台机器106和107 在jenkins节点机器上ping和telnet一下,访问正常 jenkins机器138 安装docker-1.9.1 1

从头开始学JavaScript (九)——执行环境和作用域

原文:从头开始学JavaScript (九)--执行环境和作用域 一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中定义的变量和函数. 作用域链:保证对执行环境有权访问的所有变量和函数的有序访问. 标识符解析:沿着作用域链一级一级地搜索标识符的过程. 通过例子来说明执行环境.变量对象以及作用域链: 1 <script type="text/javascript"> 2 var color =

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

持续交付即Continuous Delivery,简称CD,随着DevOps的流行正越来越被传统企业所重视.持续交付讲求以短周期.小细粒度,自动化的方式频繁的交付软件,在这个过 程中要求开发.测试.用户体验等角色紧密合作,快速收集反馈,从而不断改善软件质量并减少浪费.然而,在我所接触的传统企业中,对于持续交付实践的实施都 还非常初级,坦白说,大部分还停留的手工生成发布包,手工替换文件进行部署的阶段,这样做无疑缺乏管理且容易出错.如果究其原因,我想主要是因为构建一个 可实际运行且适合企业自身环境的

小白学Docker之Compose

承接上篇文章:小白学Docker之基础篇,自学网站来源于https://docs.docker.com/get-started 概念 Compose是一个编排和运行多容器Docker应用的工具,主要是通过一个YAML文件进行服务配置. 使用Compose主要有三步: 在每个应用环境中配置一个Dockerfile,定义单个应用的镜像 使用docker-compose.yml来组装各个应用 运行docker-compose up命令来运行整个应用 一个基本的docker-compose.yml可能长

小白学Docker之Swarm

承接上篇文章:小白学Docker之Compose,自学网站来源于https://docs.docker.com/get-started 系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm 概念 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创

《原创视频》牛腩学docker简记

牛腩学docker简记 http://blog.niunan.net/blog/show/1258https://www.cnblogs.com/niunan/p/10917506.htmlhttps://www.jianshu.com/p/1fd8ce0d49ed 本视频记录牛腩学习在vs中的.net core项目中的添加docker支持的简单记录云服务器上运行docker网站的思路:1. 云服务器上装nginx, mysql2. 云服务器上装docker3. 本地VS .NET CORE项目