栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

gitlab

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gitlab

gitlab:

它是一个开源的git仓库服务器。用于实现代码集中托管。

分为企业版和CE社区版。

部署方式:软件包部署. 容器部署。

通过容器部署gitlab服务器

容器需要4GB以上的内存

将镜像文件/linux-soft/2/gitlab_zh.tar拷贝到192.168.4.20

开始部署:

首先安装容器管理软件podman

yum install -y podman

然后修改192.168.4.20的ssh端口号。因为gitlab容器也要用到22端口,有冲突

vim +17 /etc/ssh/sshd_config (+17是打开文件时,光标直接定位到第17行)

修改里面的22号端口改为2022端口然后用systemctl restart sshd

然后退出远程链接ssh,再次登录一遍,用端口登录命令如下:

ssh -p2022 192.168.4.20(-p指令是端口选项)

导入镜像:

podman load < gitlab_zh.tar

查看导入镜像:

podman images

注意:容器如果出现故障,首先的排错方法是重启它;如果无效,删掉重建

为了删容器,不丢失数据,需要把容器需要的数据保存在宿主机上。在哪台主机上启动容器,哪台主机就是宿主机

mkdir -p /srv/gitlab/{config,logs,data} (创建保存容器数据的目录)

gitlab容器需要/etc/resolv.conf文件。不存在则创建它创建指令如下

touch /etc/resolv.conf

重启容器的命令有两部:

第一步查看容器:podman ps -a查看你当前的容器

第二步重启容器:先关闭 podman stop 容器名  再开启 podman run -it myos:latest /bin/bash

删除容器的命令是:podman rm -f gi

--------------------------------------------------------------------------------------------------------------------------------

创建容器:指令

podman 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:/var/opt/gitlab gitlab_zh

解释:

-d后台运行。-h gitlab设置容器的主机名。--name gitlab是podman ps查看到的容器名;-p指定发布的端口号,当访问宿主机443/80/22端口时,这样的请求就发给容器的相关端口;--restart always是开机自启;-v是映射路径,将容器中指定的路径,映射到宿主机,以便保存容器产生的数据;最后的gitlab_zh是镜像名。

---------------------------------------------------------------------------------------------------------------------------------

上述工作都做完后,如果一切正常,几分钟后就可以访问相对应容器IP 也就是进入gitlab

---------------------------------------------------------------------------------------------------------------------------------

配置gitlab:

第一次登陆时,要求改密码。密码需要是复杂密码,如1234.com。修改之后,登陆的用户名是root 。

改变外观配置:

 

 

 

 点击下面的保存后,LOGO图标将会改变。退出后,登陆界面也会有变化。

 ----------------------------------------------------------------------------------------------------------------------------

gitlab中主要的概念:

用户:为使用gitlab的用户创建的账号

组:用户的集合。一般可以为部门创建组。将来可以在项目上为组授权,组 中所有的用户都会得到相应的权限。

项目:用于保存代码文件的空间。

---------------------------------------------------------------------------------------------------------------------------------

创建用户:

 

 

填写截图上的几项后,其他使用默认配置,点保存。

创建好用户后,点击编辑,可以为他/她设置密码:

 

 保存修改后,退出当前账号,使用新账号登陆测试。第一次登陆时,也是要求修改密码,新密码可以设置与旧密码一样。新建的jerry用户因为权限较小,所以看到的界面,没有root的功能多。

----------------------------------------------------------------------------------------------创建组:(注意,需要使用root账号 )

 

 点击“创建群组”

  • 将jerry加到devops组中,角色是“主程序员”

 --------------------------------------------------------------------------------------------------------------------------------

创建项目:

 

 

客户端上传代码到gitlab服务器 查看项目路径,采用http方式上传

查看项目说明

 

 切换jerry用户,设置jerry的密码

 

 

 

 

 

在客户端192.168.4.10上下载项目,编写代码并上传:

git clone http://192.168.4.20/devops/myproject.git (克隆myproject)

ls    # 本地出现一个myproject目录

创建说明文件并上传。一般来说,git服务器在首页默认可以显示readme文件的内容

所以要创建个说明书

cd myproject/ (先进入)

vim readme.md(创建说明书)写入以下内容:

这是我的第1个测试项目
​```
echo 'Hello World!'
​```

:wq

然后快照:

git add .    # 保存到暂存区

git commit -m "init data"  # 确认到版本库

git push -u origin master (这条命令是将master分支推送到origin仓库。origin是默认仓库名)

会让你输入用户名跟密码

然后在服务器上刷新你的web页面

将来就可以重复操作(写代码.确认到版本库.上传到服务器)

[root@develop myproject]# cp /etc/hosts .
[root@develop myproject]# git add .
[root@develop myproject]# git commit -m "add hosts"
[root@develop myproject]# git push   # 不需要再使用-u选项
Username for 'http://192.168.4.20': jerry
Password for 'http://jerry@192.168.4.20': 1234.com

模拟另一个客户端同步数据

[root@zzgrhel8 ~]# ssh 192.168.4.10
[root@develop ~]# cd /var/tmp/
[root@develop tmp]# git clone http://192.168.4.20/devops/myproject.git
[root@develop tmp]# ls
myproject
[root@develop tmp]# cd myproject/
[root@develop myproject]# ls
hosts  readme.md

在家目录的myproject中上传新文件
[root@develop myproject]# cp /etc/issue .
[root@develop myproject]# ls
hosts  issue  readme.md
[root@develop myproject]# git add .
[root@develop myproject]# git commit -m "add issue"
[root@develop myproject]# git push
Username for 'http://192.168.4.20': jerry
Password for 'http://jerry@192.168.4.20': 1234.com

在/tmp/myproject中同步数据
[root@develop myproject]# git pull
[root@develop myproject]# ls
hosts  issue  readme.md

------------------------------------------------------------------------------------------------------------------------------

使用ssh免密推送代码:

本质上与ssh免密登陆服务器一样

先在客户端上生成密钥

ssh-keygen   # 三个问题,都直接回车

将公钥保存到gitlab服务器

cat ~/.ssh/id_rsa.pub  (查看并复制密钥内容)

在gitlab上切换Jerry用户登陆

 

 

 

 

 在192.168.4.10上将推送代码的路径改为ssh的方式

查看仓库信息,当前是http方式

git remote -v (查看仓库信息)

git remote remove origin(删除http的路径)

git remote add origin git@192.168.4.20:devops/myproject.git(添加ssh路径)

git remote -v(查看修改后的路径)

推送代码测试

[root@develop myproject]# cp /etc/passwd .
[root@develop myproject]# git add .
[root@develop myproject]# git commit -m "add passwd"
[root@develop myproject]# git push -u origin master  # 不再需要密码
[root@develop myproject]# git push 

---------------------------------------------------------------------------------------------------------END

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号