持续集成与交付技术1-Git工具使用(jenkins、gitlab)


1、Git工具使用

1.1 本地版本控制系统

在这里插入图片描述

1.2 集中化的版本控制系统

在这里插入图片描述

1.3 分布式版本控制系统

在这里插入图片描述

1.4 git简介

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

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

Git必看秘籍

1.5 安装Git

安装Git:
# yum install -y git
获取 Git 仓库通常有两种方式:
   将尚未进行版本控制的本地目录转换为 Git 仓库。
   从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone 
	
初始化版本库:
$ mkdir demo
$ cd demo
$ git init
	Initialized empty Git repository in /home/git/demo/.git/ 
$ ls .git/
	branches  config  description  HEAD  hooks  info  objects  refs
## .git目录是git跟踪管理版本库的,没事别瞎溜达!

增加用户信息
$ git config --global user.name "haojin"
$ git config --global user.email 3333333@qq.com

检查当前文件状态
$ git status
$ git status -s		//简化输出

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

跟踪新文件
$ git add README

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

查看已暂存和未暂存的修改
$ git diff

提交更新
$ git commit -m  '备注'

跳过使用暂存区域
$ 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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、git结合github/gitee使用

- 远程仓库:注册github/gitee帐号,并新建一个仓库:

- 推送本地仓库内容到github:
	$ git remote add origin https://github.com/westos007/git.git
                                     //关联远程仓库
	$ git push -u origin master		//第一次推送需要加 -u参数

- 使用https方式推送每次需要输入用户名和密码,如果不想麻烦的话采用ssh方式:
	 $ ssh-keygen -t rsa -b 4096 -C "yakexi007@westos.org"
	生成本地密钥,并上传公钥到github:

- $ git remote -v   ##关联详情
	origin	https://github.com/westos007/git.git (fetch)
	origin	https://github.com/westos007/git.git (push)

- $ git remote rm origin   ## 移除关联

- $ git remote add origin git@github.com:westos007/git.git ##关联一个新的远程仓库

- $ git remote -v   ##关联详情
	origin	git@github.com:westos007/git.git (fetch)
	origin	git@github.com:westos007/git.git (push)
	
- $ git push origin master

克隆远程仓库
- $ git clone git@github.com:westos007/gittest.git

3、Gitlab代码仓库(放github/gitee有风险,这里搭个私有的,数据都在本地)

官网

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

3.1 gitlab安装

[root@git-1 ~]# yum install -y gitlab-ce-13.2.2-ce.0.el7.x86_64.rpm 
[root@git-1 ~]# vim /etc/gitlab/gitlab.rb
  external_url 'http://172.25.200.1'		## 修改访问gitlab的地址
[root@git-1 ~]# gitlab-ctl  reconfigure  ## 重载服务


重载服务(相当于初始化),这步过了就可以后台登陆使用了
在这里插入图片描述
第一次访问强制修改密码,按着操作即可(密码:HaoJin12345)
在这里插入图片描述
在这里插入图片描述

根据需要是否要改成中文:
在这里插入图片描述

3.2 gitlab常用命令

	gitlab-ctl start    		# 启动所有 gitlab 组件
	gitlab-ctl stop        		# 停止所有 gitlab 组件		
	gitlab-ctl restart       	# 重启所有 gitlab 组件		
	gitlab-ctl status        	# 查看服务状态
	gitlab-ctl reconfigure     	# 重载服务
	gitlab-ctl tail        		# 查看日志

3.3 新建仓库(和github/gitee操作一致)

在这里插入图片描述

在这里插入图片描述

3.4 配置免密(上传时不需要输入用户和密码)

[root@git-1 ~]# ssh-keygen
[root@git-1 ~]# cat .ssh/id_rsa.pub 

在这里插入图片描述

测试,删除本地的demo,然后从gitlab上clone

在这里插入图片描述

4、jenkins

4.1 jenkins介绍

  • Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

  • Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

  • CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。

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

4.2 jenkins安装

软件下载
国内镜像站

1 安装jenkins:
# rpm -ivh jdk-8u171-linux-x64.rpm

# rpm -ivh jenkins-2.270-1.1.noarch.rpm

# systemctl  start jenkins

2 访问: http://172.25.200.2:8080

3 使用初始密码登录:cat /var/lib/jenkins/secrets/initialAdminPassword

4 更新插件源:
# vim  /var/lib/jenkins/hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>

# cd /var/lib/jenkins/updates

# sed -i.bak 's/https:\/\/updates.jenkins-io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

# systemctl restart jenkins

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5、gitlab结合jenkins使用

5.1 更新仓库内容

上传一个index.html到gitlab
在这里插入图片描述

在这里插入图片描述

5.2 手动设置触发jenkins

新建一个项目:
在这里插入图片描述

在这里插入图片描述

[root@git-2 ~]# yum install -y git

在这里插入图片描述

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210312170139655.png?x-oss-process=image/w在这里插入图片描述
atermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTE5MTgxMw==,size_16,color_FFFFFF,t_70)

5.3 设置gitlab自动触发jenkins(添加gitlab插件)

进入gitlab仓库设置
在这里插入图片描述

测试成功:
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值