Linux--持续集成与持续交付

一. git工具使用

1. 版本控制系统简介

本地版本控制系统:

集中化的版本控制系统:

分布式版本控制系统:

2. git简介

       自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。

Git特点: 

• 速度

• 简单的设计

• 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

• 完全分布式

• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

Git必看秘籍:https://git-scm.com/book /zh/v2 

Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。 

• 已修改表示修改了文件,但还没保存到数据库中。

• 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

• 已提交表示数据已经安全地保存在本地数据库中。

这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。 

3. git安装

yum install -y git

获取 Git 仓库通常有两种方式:

• 将尚未进行版本控制的本地目录转换为 Git 仓库。

• 从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone

初始化版本库: 

mkdir demo
git init

git目录是git跟踪管理版本库的,很重要!

4. git使用

用户信息:

 检查当前文件状态:

git status
git status -s		//简化输出

状态简览:

$ git status -s
 M README
MM Rakefile
A  lib/git.rb
M  lib/simplegit.rb
?? LICENSE.txt

       新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 输出中有两栏,左栏指明了暂存区的状态,右栏指明了工作区的状态。例如,上面的状态报告显示: README 文件在工作区已修改但尚未暂存,而 lib/simplegit.rb 文件已修改且已暂存。 Rakefile 文件已修,暂存后又作了修改,因此该文件的修改中既有已暂存的部分,又有未暂存的部分。 

跟踪新文件 :

git add README

忽略文件:

cat .gitignore
.*		//忽略所有隐藏文件
/test		//只忽略当前目录下的test文件
build/		//忽略任何目录下名为 build 的文件夹

查看已暂存和未暂存的修改 :

git diff

提交更新:

git commit

跳过使用暂存区域 :

git commit -a -m 'added new benchmarks'

移除文件 :

git rm PROJECTS.md
git rm --cached README

重命名文件 :

git mv README.md README

其实,运行 git mv 就相当于运行了下面三条命令:

mv README.md README

git rm README.md

git add README

查看提交历史:

git log
git log -p -2
git log --stat
git log --pretty=oneline

取消暂存的文件 :

git reset HEAD README.md

撤消对文件的修改 :

git checkout -- README.md

版本回退 :

git reflog
git reset --hard efa267a

二. gitlab代码仓库

1. gitlab安装

官网:https://about.gitlab.com/install/ 

软件下载(官方下载慢,推荐使用国内镜像站点)

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

软件安装: (官方推荐至少4G内存)

yum install -y curl policycoreutils-python openssh-server

yum install -y gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm

 

vim /etc/gitlab/gitlab.rb

external_url 'http://172.25.0.11' //访问gitlab的地址

gitlab-ctl  reconfigure //重载服务

每次修改之后都需要重载服务!

登录gitlab:

http://172.25.0.11  //用户:root 第一次登录需要强制修改密码

2. 常用命令

gitlab-ctl start    		    # 启动所有 gitlab 组件

gitlab-ctl stop        		    # 停止所有 gitlab 组件

gitlab-ctl restart       	 	# 重启所有 gitlab 组件

gitlab-ctl status        		# 查看服务状态
  
gitlab-ctl reconfigure       	# 重载服务

gitlab-ctl tail        		    # 查看日志

 

 

三. jenkins持续集成

1. jenkins简介

  • Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
  • Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
  • CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。

CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。 

软件下载:https://jenkins.io/zh/download/ 

国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

2. jenkins安装

rpm -ivh jdk-8u171-linux-x64.rpm

rpm -ivh jenkins-2.225-1.1.noarch.rpm

systemctl  start jenkins

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值