Git 01 git工具使用:
git简介
• Git特点:
• 速度
• 简单的设计
• 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
• 完全分布式
• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
• 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目 标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
• Git必看秘籍:https://git-scm.com/book/zh/v2
• 安装Git:
• # yum install -y git
• 获取 Git 仓库通常有两种方式:
• 将尚未进行版本控制的本地目录转换为 Git 仓库。
• 从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone
• 初始化版本库:
• $ mkdir demo
• $ git init
• $ ls .git/
Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。
• 已修改表示修改了文件,但还没保存到数据库中。
• 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
• 已提交表示数据已经安全地保存在本地数据库中。
• 这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。
• 检查当前文件状态
• $ git status
• $ git status -s //简化输出
• 跟踪新文件
• $ git add README
• 状态简览
• $ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
• 用户信息
• $ git config --global user.email “liu@westos.org”
• $ git config --global user.name "liu"
• 跟踪新文件
• $ git add README
• 忽略文件
• $ cat .gitignore
.* //忽略所有隐藏文件
/test //只忽略当前目录下的test文件
build/ //忽略任何目录下名为 build 的文件夹
• 查看已暂存和未暂存的修改
• $ git diff
• 提交更新
• $ git commit
• 跳过使用暂存区域
• $ git commit -a -m 'added new benchmarks'
• 移除文件
• $ git rm README.text
• $ git rm --cached README
• 查看提交历史
• $ git log
• 版本回退:
• $ git reflog
• 远程仓库:注册github帐号,并新建一个仓库:
进入gitee.com
设置
Ssh公钥
新建私有仓库:
• 推送本地仓库内容到gitee:
• $ git remote add origin https://github.com/westos007/git.git //关联远程仓库
• $ git push -u origin “master” //第一次推送需要加 -u参数
上传file1:
如果不小心将demo删掉了
克隆远程仓库:
$ git clone git@gitee.com:xiao-liu-chubby/demo.git
Git 02 Gitlab代码仓库
• 官网:https://about.gitlab.com/install/
• 软件下载(官方下载慢,推荐使用国内镜像站点)
• https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
yum install -y curl policycoreutils-python openssh-server perl
• 常用命令:
• gitlab-ctl start # 启动所有 gitlab 组件
• gitlab-ctl stop # 停止所有 gitlab 组件
• gitlab-ctl restart # 重启所有 gitlab 组件
• gitlab-ctl status # 查看服务状态
• gitlab-ctl reconfigure # 重载服务
• gitlab-ctl tail # 查看日志
安装:
yum install -y gitlab-ce-14.7.0-ce.0.el7.x86_64.rpm
• # vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.153.128' //访问gitlab的地址
• # gitlab-ctl reconfigure //重载服务(每次修改配置文件后都要重载)
• 登录gitlab:
• http://192.168.153.128 /用户:root 第一次登录需要强制修改密码
密码存储在 /etc/gitlab/initial_root_password
RI2K40s7z+BDqCmaQOe83kMAbtzcH4BbBVb9JberrX0=
修改密码:
修改字体:
克隆:
Git 03 jenkins持续集成
• Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自
动化, 满足任何项目的需要。
• Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
• CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,
立刻进行构建、(单元)测试。
新开一台虚拟机: 192.168.153.131 server3
• 软件下载:https://jenkins.io/zh/download/
• 国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
yum install -y java-11-openjdk.x86_64
• 安装jenkins:
• # rpm -ivh jdk-8u171-linux-x64.rpm
• # rpm -ivh jenkins-2.225-1.1.noarch.rpm
• # systemctl start jenkins
(失败)
• 访问: http://192.168.153.131:8080
• 使用初始密码登录:cat /var/lib/jenkins/secrets/initialAdminPassword :f655c934ed87472eb0594bfa24c0b9c2
更新插件源:
curl -sSL https://cdn.jsdelivr.net/lework/jenkins-update-center/speed-test.sh | bash
mkdir /var/lib/jenkins/update-center-rootCAs
wget https://cdn.jsdelivr.net/lework/gh/jenkins-update-center/rootCA/update-center.crt -O /var/lib/jenkins/update-center-rootCAs/update-center.crt
chown jenkins.jenkins -R /var/lib/jenkins/update-center-rootCAs
• 安装默认插件即可,使用admin用户,登录后修改密码。
修改密码:
新建一个自由风格任务:
Server3安装git命令:
给server3设置免密:
给gitlab添加公钥:
添加访问git仓库的私钥
定义轮询间隔,有更新时触发jinkens构建
构建选择执行shell命令
gitlab自动触发jenkins(添加gitlab插件)