目录
一、安装gitlab需要的组件
二、下载地址
1、rpm包的方式安装gitlab
2、修改默认端口号、url地址
3、重载配置以及启动gitlab
4、启动gitlab服务报错
5、访问gitlab 报错502
6、卸载gitlab
二、Git 用户信息
1、配置个人的用户名称和电子邮件地址:
2、查看配置信息
三、Gitlab基础操作
1、添加文件都暂存区
2、提交文件到版本库
3、查看暂存区版本
4、撤销暂存区文件
5、版本回退
6、分支管理
7、删除远程分支
一、安装gitlab需要的组件
1、yum install curl policycoreutils openssh-server openssh-clients postfix
2、启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
3、设置postfix开机自启,并启动,postfixzhichigit发新功能
systemctl enable postfix && systemctl start postfix
二、下载地址
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.10.4-ce.0.el7.x86_64.rpm
1、rpm包的方式安装gitlab
rpm -ivh gitlab-ce-11.10.4-ce.0.el7.x86_64.rpm
2、修改默认端口号、url地址
vim /etc/gitlab/gitlab.rb
修改gitlab访问地址和端口,默认80
external_url 'http://192.168.190.128'(你本机的IP)
修改gitlab默认端口为8099:
第一步:修改/etc/gitlab/gitlab.rb文件,如果有如下参数直接修改,如果没有就新增
nginx['listen_port'] = 8099
1
第二步:修改默认的gitlab nginx的web服务80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf
server { ## HTTPS server
listen *:8088;
第三步:初始化并重启组件:
gitlab-ctl reconfigure
gitlab-ctl restart
1
2
第四步:浏览器访问http://ip:8088
3、重载配置以及启动gitlab
重载配置:gitlab-ctl reconfigure 修改了 gitlab 服务配置文
件后,都需要执行一下这个命令。让各个服务的配置文件,重新加载一下配置文件
gitlab启动:gitlabgitlab-ctl start
开机自启动: vim /etc/rc.d/rc.local
/opt/gitlab/bin/gitlab-ctl start (启动命令)
chmod +x /etc/rc.d/rc.local
systemctl start gitlab-runsvdir
systemctl enable gitlab-runsvdir
4、启动gitlab服务报错
fail: alertmanager: runsv not running
fail: gitaly: runsv not running
fail: gitlab-monitor: runsv not running
fail: gitlab-workhorse: runsv not running
fail: logrotate: runsv not running
fail: node-exporter: runsv not running
fail: postgres-exporter: runsv not running
fail: postgresql: runsv not running
fail: prometheus: runsv not running
fail: redis: runsv not running
fail: redis-exporter: runsv not running
fail: sidekiq: runsv not running
fail: unicorn: runsv not running
执行 systemctl start gitlab-runsvdir 之后解决问题
运行 systemctl start gitlab-runsvdir
命令的目的是启动 GitLab 的运行服务目录 (runsvdir)。GitLab 使用 runit 来管理其各种组件和服务,这些服务在后台运行,包括 Unicorn、Sidekiq、Gitaly、Prometheus 等。gitlab-runsvdir
是一个用于管理这些服务的守护进程。
具体来说,gitlab-runsvdir
是 GitLab 的启动脚本之一,负责启动所有其他 GitLab 组件的运行服务。当您运行 systemctl start gitlab-runsvdir
时,它会启动这个服务,进而触发 GitLab 各个组件的启动。
要理解这个命令的作用,可以将其分为以下步骤:
systemctl start gitlab-runsvdir
启动了 GitLab 的运行服务目录守护进程 (gitlab-runsvdir
)。gitlab-runsvdir
会查找并启动位于 GitLab 安装目录中的 runit 服务。这些服务通常位于/opt/gitlab/service/
或/opt/gitlab/embedded/service/
等目录下。- 每个服务目录中都包含有关如何启动和管理该服务的信息。
gitlab-runsvdir
会按照这些信息来启动和管理各个 GitLab 组件。
总之,systemctl start gitlab-runsvdir
是启动 GitLab 各个组件的一种方式,通过启动运行服务目录守护进程来管理 GitLab 中的后台服务,确保它们可以正常运行。这有助于 GitLab 在启动时维护其多个组件的状态和运行
5、访问gitlab 报错502
使用gitlab-ctl tail 动态的查看日志发现有端口被占用
/var/log/gitlab/unicorn/unicorn_stderr.log <== E, [2023-09-07T10:00:07.488667 #11279] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use) E, [2023-09-07T10:00:07.488697 #11279] ERROR -- : retrying in 0.5 seconds (4 tries left) E, [2023-09-07T10:00:07.989613 #11279] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use) E, [2023-09-07T10:00:07.989770 #11279] ERROR -- : retrying in 0.5 seconds (3 tries left) E, [2023-09-07T10:00:08.490289 #11279] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use) E, [2023-09-07T10:00:08.490437 #11279] ERROR -- : retrying in 0.5 seconds (2 tries left) E, [2023-09-07T10:00:08.992016 #11279] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use) E, [2023-09-07T10:00:08.992169 #11279] ERROR -- : retrying in 0.5 seconds (1 tries left)
Unicorn尝试将监听器绑定到127.0.0.1的8080端口,但是该端口已经被占用了。
检查端口占用情况:使用命令如 netstat
或 lsof
来查找哪个进程占用了8080端口,并尝试终止该进程或将GitLab的Unicorn配置更改为使用其他可用端口
解决方法:
1、端口被占用默认是80 ,如果运行的有httpd与nginx可能会发生冲突,修改端口即可
2、另外一个原因是gitlab占用内存太多,导致服务器崩溃
内存问题 解决办法,启用swap分区,步骤如下:
cat /proc/swaps 查看swap分区是否启动(无)
创建 :
dd if=/dev/zero of=/data/swap bs=1M count=2048
通过mkswap命令将上面新建出的文件做成swap分区
mkswap /root/swap
查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
查看: cat /proc/sys/vm/swappiness 设置: sysctl -w vm.swappiness=60 若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0 启用分区
启动swap
swapon /root/swap
查看swap状态
swapon -s
6、卸载gitlab
- 执行gitlab-ctl stop 停止服务;
- 执行rpm -e gitlab-ce 卸载gitlab;
- 执行ps aux | grep gitlab 查看当前进程中是否还有gitlab进程;如果有执行 kill -9 ****.
- 执行find / -name gitlab | xargs rm -rf 删除所有相关文件;
二、Git 用户信息
1、配置个人的用户名称和电子邮件地址:
git config --global user.email "hwb@litianyun.com"
git config --global user.name "Your Name"
2、查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
三、Gitlab基础操作
1、克隆项目(project)
git clone git@XXX.git # 这里是项目的地址(可从项目主页复制),将远程服务器的内容完全复制过来
2、添加文件都暂存区
git add ## 添加多个文件
git add alexanderzobnin-zabbix-app-4.3.1.zip # 将新的文件添加到git的暂存区
查看暂存区的文件(新添加的文件)
git status
# 位于分支 master
# 要提交的变更:
# (使用 "git reset HEAD <file>..." 撤出暂存区)
#
# 新文件: alexanderzobnin-zabbix-app-4.3.1.zip
#查看暂存区的版本
git log --oneline 查看暂存区版本
3、提交文件到版本库
git commit -m "hello,world" # 将暂存区的文件提交到某一个版本保存下来,并加上注释
git reset --soft --HEAD^ ####撤销commit;--HEAD^是上一个版本,也可以写成--HEAD~1;如果进行了两次,想都撤回可以写成HEAD~2
4、撤销暂存区文件
git reset -- HARD f.txt ##撤销暂存区里面的文件
git reset --HARD ##后面什么都不加会撤销所有的文件。
5、版本回退
# 用 git log 命令查看:
# 每一个提交的版本都唯一对应一个 commit 版本号,
# 使用 git reset 命令退到上一个版本
git reset --hard origin/master
[root@qfedu.com ~]# git reset --hard HEAD^
git reflog # 查看命令历史,以便确定要回到哪个版本
git reset --hard commit_id # 比如git reset --hard 254240(不用全部输入,输入前几位即可)
删除远程仓库文件
git rm -r --cached target git commit -m "delete target/" git push origin master
git rm 使用说明
# 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file]
6、分支管理
1、创建分支
git checkout -b docker ##创建分支、然后切换到dockek分支 ----分支名字随便取,看得懂就行。
git branch #命令会列出所有分支,当前分支前面会标一个*号
2、分支切换
git checkout master ##切换分支
git branch -d dev ##删除分支
git log --oneline --graph --all 查看版本路线图
3、合并分支
git branch --merged 查看已合并的分支
git branch --no-merged 查看未合并的分支
git merge docker #把docker分支的工作成果合并到master分支上
7、删除远程分支
git push origin --delete 远端分支名称 ###会删除远端分支名称以及相同名称分支。
远程仓库迁移
git remote -v ###显示当前仓库地址
git remote set-url origin 新的仓库地址(beijingshi.git)
git remote -v ###此时可以看到远程仓库地址发生变化
git push --all ###将当前所有分支push到远程仓库中。