|NO.Z.00002|——————————|^^ 部署 ^^|——|CI/CD&Git部署.V01|——|Git.Server部署|

一、部署Git.Server:
### --- 部署规划
~~~     Git本身是没有客户端和服务端之说的,只是我们为了区分不同的角色是这么定义的。

~~~     centos7.x:10.10.10.11   Git Server
~~~     centos7.x:10.10.10.12   Git client
二、部署Git-server.yum
### --- 部署GitServer:Git Server宿主机上操作

[root@server11 ~]# yum install git git-core gitweb -y
### --- 创建git账户并配置秘钥
~~~     创建Git工作账户

[root@server11 ~]# useradd git                          // 账户名
[root@server11 ~]# passwd git                           // 账户密码
~~~     为git用户设置秘钥

[root@server11 ~]# su - git
[git@server11 ~]$ ssh-keygen -t rsa 
[git@server11 ~]$ cd .ssh/
[git@server11 .ssh]$ cp id_rsa.pub authorized_keys
[git@server11 .ssh]$ cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoX4EetBml608e7+SYlQWv54ucVm4j0CxifMAF3Hksx74JdBT0w2lqI5QFfaZRYn9y6RMrk6EpdRRBTWsulMUqO3cGk0e10QLquuQsbrprMJCsr9JYmLFlvJDLiLu+avgFktJABDlrHS4PbeOLA2aTIRwKDkk37pl0Ex6yCrJCeT3emEmcpijLGCOHSg+/BHL2yLwT+YrvpbDGoSydCrspBR7IaL86aY9y0EzqgcaDm5azShcIDQizdui5TFoprLuKI+1Uca/gcQqp5ZzT6f2nr3V9krU5JAQRUxSy+J/o7F2IucrrSQwQ/+7VNlN7bPTT6akc0vrBgACh/GihOcN5 git@server11 
### --- 创建版本库
~~~     创建Git工作目录

[root@server11 ~]# mkdir /git-root/
[root@server11 ~]# cd /git-root/
~~~     创建一个裸库

[root@server11 git-root]# git init --bare shell.git     // 创建裸库
Initialized empty Git repository in /git-root/shell.git/ 
~~~     为工作目录授予执行权限

[root@server11 git-root]# chown -R git:git shell.git
### --- 注释

~~~     # git init 和 git init --bare 的区别:
~~~     使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,
~~~     这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面.
~~~     用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作。
~~~     但别的用户在将更新push上来的时候容易出现冲突。
~~~     使用”git init --bare”方法创建一个所谓的裸仓库,
~~~     之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,
~~~     而不允许用户在上面进行各种git操作,如果你硬要操作的话,
~~~     只会得到下面的错误(”This operation must be run in a work tree”)
~~~     这个就是最好把远端仓库初始化成bare仓库的原因

三、部署Git-client.yaml
### --- 部署GitC lient:Git client宿主机上操作

[root@server12 ~]# yum install git git-core gitweb -y
### --- 配置gitclient秘钥
~~~     创建秘钥

[root@server12 ~]# ssh-keygen
~~~     将公钥发送到gitserver宿主机的git账户下

[root@server12 ~]# ssh-copy-id git@10.10.10.11
四、验证仓库
### --- clone版本库到gitclient主机上

[root@server12 shell]# git config --global user.email "you@example.com"
[root@server12 shell]# git config --global user.name "Your Name"
[root@server12 ~]# git clone git@192.168.1.178:/git-root/shell.git
### --- 查看clone的版本库内容

[root@server12 ~]# ls
shell 
### --- 修改shell下文件内容
~~~     修改shell目下内容

[root@server12 ~]# cd shell/
[root@server12 shell]# vim test.sh
for i in 1 2 3
do
        echo $i
done
~  
### --- push版本库到gitserver主机上
~~~     将文件放在暂存区

[root@server12 shell]# git add test.sh                 // 把源代码文件放在暂存区
~~~     添加注释信息

[root@server12 shell]# git commit -m 'first commit'    // 表示提交完成
[master (root-commit) fa91062] first commit
 1 file changed, 4 insertions(+)
 create mode 100644 test.sh
~~~     将文件push到gitserver下

[root@server12 shell]# git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 238 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.10.10.11:/git-root/shell.git
 * [new branch]      master -> master   
### --- 将push的文件clone下来,查看是否更新版本库完成
~~~     在其他目录克隆下服务器中的库文件,查看是否有创建的文件

[root@server12 shell]# cd /opt/
[root@server12 opt]# git clone git@10.10.10.11:/git-root/shell.git
~~~     查看clone的文件是否为自己push的文件

[root@server12 opt]# cat shell/test.sh 
for i in 1 2 3
do
    echo $i
done

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(37)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示