#确认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 ~]#
#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/
#参考提示命令"推送已有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项目管理页面查看推送情况
#每次推送都需要认证,可以设置免密推送
#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]#
[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 ~]#
#关联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服务器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]#