- 程序员将代码上传到gitlab服务器
- 云计算工程师,通过jenkins服务器自动下载gitlab上的代码
- 云计算工程师编写自动部署到服务器上的脚本
• 是一个分布式的代码管理工具
• 可以是C/S架构,也就是Client/Server
• 只要有适当的权限,每个客户端都可以下载或上传数据到服务器
git的工作原理
• git重要的三个工作区域:
– 工作区:写代码的目录。就是项目代码存放的目录。
– 暂存区:工作区与版本库之间的缓冲地带。位置是.git/index
– 版本库:工作区快照存放的目录。在工作区下,名为.git的目录
sequence
工作区->暂存区:git add
暂存区->版本库:git commit
• 基本的 Git 工作流程如下:
– 在工作区中修改文件。
– 将想要提交的更改暂存,这样会将更改添加到暂存区。
– 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。
安装git
[root@git ~]# yum install -y git
• 将虚拟机192.168.4.200作为gitlab服务器。它需要4GB以上内存
安装容器管理软件podman
[root@gitlab ~]# yum install -y podman
#修改192.168.4.200的ssh端口号。因为gitlab容器也要用到22端口,有冲突。
[root@gitlab ~]# vim +17 /etc/ssh/sshd_config
17 Port 2202
重启sshd服务
[root@git ~]# systemctl restart sshd
[root@gitlab ~]# podman load < gitlab_zh.tar
[root@git ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/gitlab_zh latest 1f71f185271a 3 years ago 1.73 GB
创建容器
附:如果容启动失败,再次创建有以下错误:
shell
Error: error creating container storage: the container name “gitlab” is already in use by “ca425e33d7ff2d282cbec1033023851cff285fe9b819ed50d47a08a875372fde”. You have to remove that container to be able to reuse that name.: that name is already in use
则:
填写截图上的几项后,其他使用默认配置,点保存。
创建好用户后,点击编辑,可以为他/她设置密码:
保存修改后,退出当前账号,使用新账号登陆测试。第一次登陆时,也是要求修改密码,新密码可以设置与旧密码一样。新建的jj用户因为权限较小,所以看到的界面,没有root的功能多
使用ssh免密推送代码
• 本质上与ssh免密登陆服务器一样。
- 将公钥保存到gitlab服务器
查看并复制公钥内容
将推送代码的方式改为ssh —查看ssh路径
查看仓库信息,当前是http方式
[root@git myprojects]# git remote -v
origin http://192.168.4.200/devops/myprojects.git (fetch)
origin http://192.168.4.200/devops/myprojects.git (push