CI/CD 持续集成和持续交付 (壹)

案例1:配置git

案例2:git本地操作

案例3:使用自建gitlab服务器

1 案例1:配置git

1.1 问题
安装git版本控制软件
设置用户信息,如用户名、email等
设置默认编辑器为vim
查看用户配置
1.2 步骤
实现此案例需要按照如下步骤进行。

步骤一:安装git版本控制软件

[root@localhost ~]# yum install -y git
已安装:
  git.x86_64 0:1.8.3.1-11.el7                                                          
作为依赖被安装:
  perl-Error.noarch 1:0.17020-2.el7            perl-Git.noarch 0:1.8.3.1-11.el7       
  perl-TermReadKey.x86_64 0:2.30-20.el7       
完毕!
[root@localhost ~]# git –version        #查看版本
git version 1.8.3.1

步骤二:设置用户信息

Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

[root@localhost ~]# git config --global user.name "Mr.Zhang"
[root@localhost ~]# git config --global user.email zhangzg@tedu.cn

步骤三:设置默认编译器为vim

[root@localhost ~]# git config --global core.editor vim 

步骤四:查看配置

[root@localhost ~]# git config --list
user.name=Mr.Zhang
user.email=zhangzg@tedu.cn
core.editor=vim

2 案例2:git本地操作

2.1 问题
创建devops目录
为devops创建git仓库
新建文件hello.py,并将文件初始化到仓库中
修改hello.py并将其更新到仓库
从他库中删除hello.py
2.2 方案
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以git init是使用 Git 的第一个命令。添加文件第一步使用git add是将文件添加进暂存区,第二部git commit提交更改,实际上将暂存区的所有内容提交到仓库。

2.3 步骤
实现此案例需要按照如下步骤进行。

步骤一:创建目录初始化

此时创建了一个空仓库,可以发现当前目录下有一个隐藏的目录.git,此目录为Git来跟踪管理版本库,建议不要修改内部文件,以免Git仓库遭到破坏。

[root@localhost ~]# mkdir devops
[root@localhost ~]# cd devops/
[root@localhost devops]# git init        #通过命令把目录变成Git可以管理的仓库
初始化空的 Git 版本库于 /root/devops/.git/
[root@localhost devops]# git init devops
初始化空的 Git 版本库于 /root/devops/devops/.git/
[root@localhost devops]# ls -a
.  ..  devops  .git

步骤二:新建文件hello.py,并将文件初始化到仓库中

1)添加指定文件hello.py到暂存区

[root@localhost devops]# echo 'print("hello world!")' > hello.py
[root@localhost devops]# git add hello.py        #将文件添加到暂存区
[root@localhost devops]# git status        #查看状态
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
#   (使用 "git rm --cached <file>..." 撤出暂存区)
#
#    新文件:    hello.py 

2)将暂存区文件初始化到仓库中

[root@localhost devops]# git commit -m "初始化仓库"       #把暂存区所有内容提交到分支
[master 8e6e22a] 初始化仓库
 1 file changed, 1 insertion(+)
 create mode 100644 hello.py
[root@localhost devops]# git status
# 位于分支 master
无文件要提交,干净的工作区

步骤三:修改hello.py并将其更新到仓库

[root@localhost devops]# echo 'print("done.")' >> hello.py 
[root@localhost devops]# git commit -am "向hello.py添加新行"
[master 1ca03d5] 向hello.py添加新行
 1 file changed, 1 insertion(+) 

步骤四:从库中删除hello.py文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除

[root@localhost devops]# git ls-files         #查看版本库中文件
hello.py
niha.py
[root@localhost devops]# git rm hello.py
rm 'hello.py'
[root@localhost devops]# git commit -m '删除hello.py'
[master a37ff34] 删除hello.py
 1 file changed, 2 deletions(-)
 delete mode 100644 hello.py

3 案例3:使用自建gitlab服务器

3.1 问题
通过docker搭建gitlab服务器
新建群组devops
新建项目core_py
新建用户,他/她在devops组中是主程序员
新用户上传版本库到gitlab
熟悉git远程操作方法
3.2 步骤
实现此案例需要按照如下步骤进行。

步骤一:通过docker搭建gitlab服务器

1)从ftp://172.40.50.116/pub/docker/images/处获取gitlab_zh.tar镜像文件,导入中文版gitlab镜像

[root@localhost devops]# docker load < /path/to/gitlab_zh.tar 
a94e0d5a7c40: Loading layer [==================================================>]  116.5MB/116.5MB
88888b9b1b5b: Loading layer [==================================================>]  15.87kB/15.87kB
52f389ea437e: Loading layer [==================================================>]  14.85kB/14.85kB
52a7ea2bb533: Loading layer [==================================================>]  5.632kB/5.632kB
db584c622b50: Loading layer [==================================================>]  3.072kB/3.072kB
62786ff6a243: Loading layer [==================================================>]  75.85MB/75.85MB
71bc04f4b7c7: Loading layer [==================================================>]  2.048kB/2.048kB
26e083d332d8: Loading layer [==================================================>]  2.048kB/2.048kB
2c02e58e96b8: Loading layer [==================================================>]  2.048kB/2.048kB
589c7a23de2a: Loading layer [==================================================>]  15.87kB/15.87kB
44474d2cdcd1: Loading layer [==================================================>]  1.359GB/1.359GB
41c94e16b901: Loading layer [==================================================>]  16.78MB/16.78MB
04cafa6a1534: Loading layer [==================================================>]    160MB/160MB
Loaded image: gitlab_zh:latest

2)将物理主机ssh端口改为2022后,输入如下命令起动容器:

[root@localhost devops]# docker run -d -h gitlab --name gitlab -p 443:443 -p 80:80 -p 22:22 --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data gitlab_zh:latest 
b9dc65e0def51a4d09d2a597b2b929490e972a34f3de993439d2f7cc22039b77 
此时端口成功启动

步骤二:新建群组

1)在浏览器地址栏中输入启动容器ip地址即可登录GitLab的界面,第一次登录使用的用户名为root,首次登录会强制用户修改密码。密码修改成功后,输入新密码进行登录,如图-1所示:

在这里插入图片描述

图-1

2)进入网站后点击菜单栏-工具图标打开管理区域,创建群组,使用群组管理项目和成员,如图-2、图-3所示:

在这里插入图片描述

图-2

在这里插入图片描述

图-3

步骤三:在Gitlab主页中新建一个项目

显示如图-4所示:
在这里插入图片描述

图-4

步骤四:在Gitlab主页中新建一个用户

1)在Gitlab主页中新建一个用户,如图-5所示:

在这里插入图片描述

图-5

2)设置账号基本信息,其他均可为默认,如图-6所示:
在这里插入图片描述

图-6

3)创建用户后,再次编辑可设置密码,如图-7所示:
在这里插入图片描述

图-7

4)root用户将新用户加入组中,点击devops进入群组,设置管理权限,在群组中添加成员并设置新成员为“主程序员”,如图-8、图-9、图-10所示:
在这里插入图片描述

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

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

图-10

5)在终端中输入ssh-keygen命令,一路enter,可以生成缺省的rsa方式的sshkey,将/root/.ssh/id_rsa.pub中生成的rsa公钥内容拷到gitlab中,如图-11所示,进入设置页面对ssh进行配置:
在这里插入图片描述

图-11

SSH是一种安全协议,在你的电脑与GitLab服务器进行通信时,我们使用SSH密钥(SSH Keys)认证的方式来保证通信安全。你可以在网络上搜索到关于SSH密钥的更多介绍;下面我们重点讲解如何创建 SSH密钥,并将密钥中的公钥添加到GitLab,以便我们通过SSH协议来访问Git仓库。
显示如图-12所示:
在这里插入图片描述

图-12

步骤五:简单远程操作及新用户上传版本库到gitlab

1)克隆远程库代码到本地

# git clone git@192.168.113.249:devops/core_py.git 

2)创建一个文件

# cd /root/whsir/whsir
# echo "Hello" > hello.py

3)将文件添加到仓库

 # git add hello.py

4)提交文件到仓库,输出信息如图-18所示:

# git commit -m "hello文件"

在这里插入图片描述

图-13

5)关联远程库

 # git remote add origin git@192.168.113.249:root/whsir.git

6)最后推送到gitlab上,输出信息如图-14所示:

# git push origin master

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值