gitlab搭建

案例1:GitLab服务器搭建

使用rpm包本地部署GitLab服务器

#确认GitLab主机硬件配置
[root@GitLab ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3896         113        3691           8          90        3615
Swap:             0           0           0
[root@GitLab ~]# 

#安装依赖包
[root@GitLab ~]# yum clean all; yum repolist -v
...
Total packages: 8,265
[root@GitLab ~]# yum -y install policycoreutils-python-utils.noarch     #安装依赖包
...
Complete!
[root@GitLab ~]#

#安装GitLab软件包
[root@GitLab ~]# ls
gitlab-ce-12.4.6-ce.0.el7.x86_64.rpm
[root@GitLab ~]# rpm -ivh --nodeps \
> --force gitlab-ce-12.4.6-ce.0.el7.x86_64.rpm                  #强制忽略依赖安装
...
[root@GitLab ~]# rpm -qa | grep gitlab
gitlab-ce-12.4.6-ce.0.el7.x86_64
[root@GitLab ~]# 

#重载GitLab配置
[root@GitLab ~]# gitlab-ctl reconfigure
...
Running handlers:
Running handlers complete
Chef Client finished, 527/1423 resources updated in 02 minutes 05 seconds
gitlab Reconfigured!
[root@GitLab ~]# 

#重启GitLab相关服务
[root@GitLab ~]# gitlab-ctl restart
ok: run: alertmanager: (pid 1975) 0s        //报警服务
ok: run: gitaly: (pid 1986) 1s              //Git后台服务
ok: run: gitlab-exporter: (pid 2014) 0s     //Prometheus数据采集器
ok: run: gitlab-workhorse: (pid 2020) 1s    //反向代理服务器
ok: run: grafana: (pid 2117) 0s             //数据可视化服务
ok: run: logrotate: (pid 2129) 0s           //日志文件管理服务
ok: run: nginx: (pid 2135) 1s               //静态WEB服务
ok: run: node-exporter: (pid 2142) 0s       //Prometheus数据采集器
ok: run: postgres-exporter: (pid 2148) 1s   //Prometheus数据采集器
ok: run: postgresql: (pid 2159) 0s          //数据库服务
ok: run: prometheus: (pid 2168) 0s          //Prometheus监控服务
ok: run: redis: (pid 2178) 1s               //缓存数据库服务
ok: run: redis-exporter: (pid 2183) 0s      //Prometheus数据采集器
ok: run: sidekiq: (pid 2192) 0s             //异步执行队列服务
ok: run: unicorn: (pid 2203) 0s             //Rails托管WEB服务
[root@GitLab ~]# 

案例2:GitLab使用

GitLab初始化

#GitLab主机确认80端口被监听
[root@GitLab ~]# ss -anptul | grep :80
tcp   LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=11166,fd=7),("nginx",pid=11165,fd=7),("nginx",pid=11164,fd=7))  
[root@GitLab ~]# 

#浏览器访问: http://192.168.88.20/

gitlab搭建_第1张图片

gitlab搭建_第2张图片 gitlab搭建_第3张图片

gitlab搭建_第4张图片 添加用户gitlab搭建_第5张图片

gitlab搭建_第6张图片修改用户密码 gitlab搭建_第7张图片 gitlab搭建_第8张图片

 gitlab搭建_第9张图片

创建组

gitlab搭建_第10张图片 gitlab搭建_第11张图片

gitlab搭建_第12张图片 gitlab搭建_第13张图片

 新建项目gitlab搭建_第14张图片

gitlab搭建_第15张图片 gitlab搭建_第16张图片

gitlab搭建_第17张图片

案例3:代码托管

关联Programer主机myproject仓库与GitLab服务器上myproject项目

#参考提示命令"推送已有Git仓库部分"
[root@Programer ~]# cd myproject/
[root@Programer myproject]# git remote -v                   #查看远程仓库关联信息
[root@Programer myproject]# git remote add origin           http://192.168.88.20/devops/myproject.git                   #关联远程项目
[root@Programer myproject]# git remote -v                   #查看远程想看关联信息
origin  http://192.168.88.20/devops/myproject.git (fetch)
origin  http://192.168.88.20/devops/myproject.git (push)
[root@Programer myproject]# git push -u origin --all        #推送本地仓库所有分支
Username for 'http://192.168.88.20': mark       #用户名
Password for 'http://[email protected]':       #密码
枚举对象中: 29, 完成.
对象计数中: 100% (29/29), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (19/19), 完成.
写入对象中: 100% (29/29), 2.21 KiB | 2.21 MiB/s, 完成.
总共 29(差异 5),复用 0(差异 0),包复用 0
remote: 
remote: To create a merge request for feature, visit:
remote:   http://gitlab.example.com/devops/myproject/merge_requests/new?merge_request%5Bsource_branch%5D=feature
remote: 
remote: To create a merge request for hotfix, visit:
remote:   http://gitlab.example.com/devops/myproject/merge_requests/new?merge_request%5Bsource_branch%5D=hotfix
remote: 
To http://192.168.88.20/devops/myproject.git
 * [new branch]      feature -> feature
 * [new branch]      hotfix -> hotfix
 * [new branch]      master -> master
分支 'feature' 设置为跟踪来自 'origin' 的远程分支 'feature'。
分支 'hotfix' 设置为跟踪来自 'origin' 的远程分支 'hotfix'。
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'。
[root@Programer myproject]# git push -u origin --tags       #推送本地仓库所有标签
Username for 'http://192.168.88.20': mark       #用户名
Password for 'http://[email protected]':       #密码
总共 0(差异 0),复用 0(差异 0),包复用 0
To http://192.168.88.20/devops/myproject.git
 * [new tag]         v1 -> v1
[root@Programer myproject]# 

#登录GitLab项目管理页面查看推送情况

 gitlab搭建_第18张图片

#每次推送都需要认证,可以设置免密推送
    #store:永久存储
    #cache:默认缓存15分钟,期间无需认证,可通过cache --timeout=3600设置超时时间
    #git remote add origin http://name:[email protected]/devops/myproject.git
[root@Programer myproject]# git config --global credential.helper store #持久保存
[root@Programer myproject]# git push                        #推送代码(本次需要认证)
Username for 'http://192.168.88.20': mark   #用户名
Password for 'http://[email protected]':   #密码
Everything up-to-date
[root@Programer myproject]# git push                        #再次推送测试免密
Everything up-to-date
[root@Programer myproject]# git config --list
user.name=mark
[email protected]
init.defaultbranch=master
credential.helper=store
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=http://192.168.88.20/devops/myproject.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.feature.remote=origin
branch.feature.merge=refs/heads/feature
branch.hotfix.remote=origin
branch.hotfix.merge=refs/heads/hotfix
branch.master.remote=origin
branch.master.merge=refs/heads/master
[root@Programer myproject]# cat ~/.git-credentials 
http://mark:[email protected]
[root@Programer myproject]# 

 HIS项目代码托管

[root@GitLab  ~]# scp -r /root/PROJECT02/Case/HIS/HIS.zip 192.168.88.10:/root

#Programer主机准备HIS代码
[root@Programer ~]# ls HIS.zip 
HIS.zip
[root@Programer ~]# unzip HIS.zip                           #解压项目代码压缩包
[root@Programer ~]# ls HIS
HIS-BACKEND                 #HIS项目后端代码,SpringBoot框架编写
HIS-CONFIG                  #HIS项目后端程序运行配置文件
HIS-FONTEND                 #HIS项目前端代码(已编译)
HIS-FONTEND-DEPENDENCY      #HIS项目前端代码编译依赖库(npm库)
HIS-FONTEND-SOURCECODE      #HIS项目前端代码(未编译,VUE框架编写)
HIS-SQL                     #HIS项目数据库SQL文件
[root@Programer ~]# 
  • HIS后端代码托管

gitlab搭建_第19张图片 gitlab搭建_第20张图片

#关联GitLab服务器HIS-BACKEND项目与Programer主机HIS-BACKEND代码
[root@Programer ~]# cd HIS/HIS-BACKEND/
[root@Programer HIS-BACKEND]# git init                          #初始化仓库
已初始化空的 Git 仓库于 /root/HIS/HIS-BACKEND/.git/
[root@Programer HIS-BACKEND]# git remote add origin http://192.168.88.20/devops/HIS-BACKEND.git                     #关联本地与远程
#链接远程错误 先删除后后在添加 git remote remove origin
[root@Programer HIS-BACKEND]# git remote -v
origin  http://192.168.88.20/devops/HIS-BACKEND.git (fetch)
origin  http://192.168.88.20/devops/HIS-BACKEND.git (push)
[root@Programer HIS-BACKEND]# git add ./                        #添加代码到暂存区
[root@Programer HIS-BACKEND]# git commit -m "Init Backend Code" #提交本地版本库
[root@Programer HIS-BACKEND]# git tag v1                        #创建v1标签
[root@Programer HIS-BACKEND]# git push -u origin --all          #推送本地所有分支
枚举对象中: 518, 完成.
对象计数中: 100% (518/518), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (464/464), 完成.
写入对象中: 100% (518/518), 272.81 KiB | 5.57 MiB/s, 完成.
总共 518(差异 256),复用 0(差异 0),包复用 0
remote: Resolving deltas: 100% (256/256), done.
To http://192.168.88.20/devops/HIS-BACKEND.git
 * [new branch]      master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'。
[root@Programer HIS-BACKEND]# git push -u origin --tags         #推送本地所有标签
总共 0(差异 0),复用 0(差异 0),包复用 0
To http://192.168.88.20/devops/HIS-BACKEND.git
 * [new tag]         v1 -> v1
[root@Programer HIS-BACKEND]# 

gitlab搭建_第21张图片

  • HIS前端代码托管

gitlab搭建_第22张图片 gitlab搭建_第23张图片

#关联GitLab服务器HIS-FONTEND项目与Programer主机HIS-FONTEND代码
[root@Programer HIS-BACKEND]# cd
[root@Programer ~]# cd HIS/HIS-FONTEND
[root@Programer HIS-FONTEND]# git init                          #初始化仓库
已初始化空的 Git 仓库于 /root/HIS/HIS-FONTEND/.git/
[root@Programer HIS-FONTEND]# git remote add origin             http://192.168.88.20/devops/HIS-FONTEND.git                     #关联本地与远程
[root@Programer HIS-FONTEND]# git remote -v
origin  http://192.168.88.20/devops/HIS-FONTEND.git (fetch)
origin  http://192.168.88.20/devops/HIS-FONTEND.git (push)
[root@Programer HIS-FONTEND]# git add ./                        #添加文件到暂存区
[root@Programer HIS-FONTEND]# git commit -m "Init Fontend Code" #提交到本地版本库
[root@Programer HIS-FONTEND]# git push -u origin --all          #推送所有分支
枚举对象中: 81, 完成.
对象计数中: 100% (81/81), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (81/81), 完成.
写入对象中: 100% (81/81), 2.91 MiB | 8.10 MiB/s, 完成.
总共 81(差异 16),复用 0(差异 0),包复用 0
To http://192.168.88.20/devops/HIS-FONTEND.git
 * [new branch]      master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'。
[root@Programer HIS-FONTEND]# git push -u origin --tags         #推送所有标签 
总共 0(差异 0),复用 0(差异 0),包复用 0
To http://192.168.88.20/devops/HIS-FONTEND.git
 * [new tag]         v1 -> v1
[root@Programer HIS-FONTEND]# 

gitlab搭建_第24张图片 

 

 

 

 

 

 

你可能感兴趣的:(gitlab)