Linux——GIT/CI&CD

GIT 工具

- git简介

  • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

  • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

在这里插入图片描述分布式版本控制系统
在这里插入图片描述集中化版本控制系统
在这里插入图片描述本地版本控制系统
在这里插入图片描述

- git 工具

Git有三种状态,根据三种状态Git项目会出现在三个区域:工作区、暂存区以及 Git 目录

  • 已修改 modified
    已修改表示修改了文件,但还没保存到数据库中
  • 已暂存 staged
    已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交 committed
    已提交表示数据已经安全地保存在本地数据库中。

在这里插入图片描述
git安装

yum install -y git #安装git

本地初始化GIT仓库

mkdir demo #建立本地目录 
git init #初始化版本库
ls .git #查看跟踪管理版本库

添加全局git用户以及邮箱

git config --global user.name "adolf"  #用户名称
git config --global user.email "adolf@westos.com"  #邮箱

查看当前git项目状态

git status
git status -s  #简化输出

新建文件,跟踪新文件

echo TEST > README.md
git add README.md # 跟踪新文件

在这里插入图片描述提交保存

git commit -m "add readme.md"

再次修改文件

echo TESTEST >> README.md 

在这里插入图片描述

M(红色)在右边表示修改后在工作区
M(绿色)在左边表示修改后提交在暂存区

	查看已暂存和未暂存的修改
	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

在这里插入图片描述

管理远程GIT仓库

克隆远程仓库 gitee 示例

提前将ssh公钥上传至gitee,使用ssh方式克隆
在这里插入图片描述

git clone git@gitee.com:adolf001/playbook.git

在这里插入图片描述将克隆下来的仓库与远程仓库关联

git remote add origin git@gitee.com:adolf001/playbook.git
git remote -v

在这里插入图片描述

echo adolf version > README.md #修改文件
git add README.md #跟踪更新
git commit -m "v1"  #提交更新
git push origin master   #推送至GITEE
git pull origin #从GITEE拉取最新的项目 
git remote remove origin #删除远端关联

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

- gitlab安装使用

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/ # 下载镜像安装
yum install -y gitlab-ce-14.1.2-ce.0.el7.x86_64.rpm
yum install -y curl policycoreutils-python openssh-server
#基本命令
	gitlab-ctl start # 启动所有 gitlab 组件
	gitlab-ctl stop # 停止所有 gitlab 组件
	gitlab-ctl restart # 重启所有 gitlab 组件
	gitlab-ctl status # 查看服务状态
	gitlab-ctl reconfigure # 重载服务
	gitlab-ctl tail# 重载服务

修改仓库配置IP

vim /etc/gitlab/gitlab.rb

external_url 'http://172.25.52.2'

重新载入gitlab,结束之后默认root的密码会存放在/etc/gitlab/initial_root_password

gitlab-ctl reconfigure
cat /etc/gitlab/initial_root_password`

在这里插入图片描述
此时访问仓库地址即可使用默认root用户登陆
在这里插入图片描述

修改中文环境,创建新项目
在这里插入图片描述
在这里插入图片描述
在客户主机上生成ssh密钥并上传至gitlab,可以实现免密提交下载等

ssh-keygen
cat ~/.ssh/id_rsa.pub

在这里插入图片描述
将其上传至仓库

在这里插入图片描述
测试: 在客户端配置免密,下载新建的目录,并更新git
生成密钥,上传公钥

ssh-keygen
cat ~/.ssh/id_rsa.pub

在这里插入图片描述
使用git clone 仓库的git
在这里插入图片描述

git clone git@172.25.52.2:root/demo.git

在这里插入图片描述
在demo目录下修改index.html(已经有)

echo adolf >> index.html 
git status

在这里插入图片描述

git config --global user.email “westos@rhel.com” #初次提交需要设定用户名与邮箱
git config --global user.name “westos”
git commit -m "update index.html
git push -u origin main  #初次上传需要-u

在这里插入图片描述
此时在仓库已经可以看见westos用户作出的修改
在这里插入图片描述

持续集成&持续交付

  CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
在这里插入图片描述

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

Jenkins简介

  Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。其使用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

Jenkins安装

软件下载:https://jenkins.io/zh/download/
国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

• 安装jenkins:

rpm -ivh jdk-8u171-linux-x64.rpm
rpm -ivh jenkins-2.225-1.1.noarch.rpm
systemctl start jenkins

所需依赖项从国内镜像站拉取

在这里插入图片描述

systemctl start jenkins

在这里插入图片描述

cat /var/lib/jenkins/secrets/initialAdminPassword
d1ba680c9ebc46eea5dddd5b962414a5

修改插件源

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>
sed -i.bak 's/http:\/\/updates.jenkins-ci.org\/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

安装中文环境

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

Jenkins用户管理

Jenkins的用户管理也是基于rbrc
首先需要安装Jenkins的角色管理插件,然后新建用户

系统管理-安全-管理用户-新建用户 adolf
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述使用新用户登陆查看权限
在这里插入图片描述
可以对demo项目进行删除等
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值