1. 项目目标
(1)熟练使用rpm包安装gitlab
(2)熟练配置gitlab
(3)熟练创建gitlab群组、成员、项目
(4)熟练使用gitlab推送和拉取代码
2. 项目准备
2.1. 规划节点
|--------|-----------|--------|
| 主机名 | 主机IP | 节点规划 |
| gitlab | 10.0.1.10 | gitlab |
2.2. 基础准备
**系统镜像:**CentOS 7.9
安装包下载网址: Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
**环境准备:**关闭防火墙
3. 项目实施
3.1. 安装GitLab
这里安装的是社区版的gitlab14.0,安装包可以在清华镜像源自行下载:
Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
yum -y install policycoreutils-python #安装依赖
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm #安装软件包
修改gitlab 配置文件:
vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.1.10' # 更改为本机IP地址
gitlab-ctl reconfigure #将配置生效
gitlab常用文件路径及常用命令:
- /opt/gitlab/:这是GitLab的程序安装目录,通常包含GitLab的可执行文件和脚本。
- /var/opt/gitlab:这是GitLab的数据目录,用于存放配置文件、日志文件、备份等数据。
- /var/opt/gitlab/git-data:这是存放Git仓库数据的目录。
- gitlab-ctl status:这个命令用于查看GitLab所有服务的当前状态。
- gitlab-ctl stop:这个命令用于停止GitLab的所有服务。
- gitlab-ctl stop nginx:这个命令用于单独停止Nginx服务,Nginx是一个流行的Web服务器和反向代理服务器,通常用于GitLab的Web服务。
- gitlab-ctl tail:这个命令用于查看所有服务的日志,这可以帮助你监控服务的运行情况和调试问题。
3.2. GitLab的配置与使用
3.2.1. GitLab基本配置
访问你的主机ip地址,跳转到登录界面。
账号是root 密码通过cat查看:
cat /etc/gitlab/initial_root_password |grep -i password:
偏好设置-> 本地化 ->修改语言
设置->通用 -> 注册限制里关闭注册
3.2.2. 创建群组和用户
创建群组
进入管理中心,新建用户。
进入创建的群组,添加群组成员
3.2.3. 创建项目仓库
3.2.4. 添加ssh-keys到GitLab
ssh-keygen #生成sshkey
cat /root/.ssh/id_rsa.pub #查看sshkey
在用户设置里添加ssh密钥
3.2.5. git代码流程
推送代码:
mkdir gitlab_test #创建一个文件夹作为测试
cd gitlab_test #进入文件夹
git init #初始化git
git remote add origin git@10.0.1.10:devops-group/devops-item.git #添加远程仓库,在仓库的克隆里复制
git checkout -b master #创建master分支
git remote rename origin devops-origin #更改origin名字
touch README.txt #创建一个readme文件
git add . #添加到缓冲区
git config --global user.email "abc@gmall.com" #设置email
git config --global user.name "devops-Intern" #设置username
git commit -m "README" #添加项目到本地仓库
git push -u devops-origin master #推送本地仓库至远程仓库
刷新后,切换到master分支,就能看到项目里面包含了刚刚上传的文件。
克隆代码:
mkdir gitlab_test
cd gitlab_test
git init #初始化
git clone git@10.0.1.10:devops-group/devops-item.git #克隆远程仓库代码
3.2.6. 添加分支并合并分支
添加分支:
git branch app #创建分支
git checkout app #切换到app分支
touch app_test #创建test文件
git add . #添加到缓冲区
git commit -m "add_app_test" #添加项目到本地仓库
git remote add origin git@10.0.1.170:devops-group/devops-item.git #添加远程仓库
git push -u origin app #推送本地仓库至远程仓库
合并分支:
批准合并,单击合并
拉取最新代码,同步到本地服务器
git pull
3.2.7. GitLab备份
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800
mkdir -p /data/backup/gitlab
chown -R git.git /data/backup/gitlab
gitlab-ctl reconfigure
4. 项目总结
本项目详细讲解了gitlab的安装及其基础操作,模拟实现了代码的推送及拉取,最后将gitlab进行备份。