• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    gitlab安装及使用教程

    :2023年11月19日
    萌萌哒的小余

    GitLab是项目管理和代码托管平台,可通过Web界面进行访问公开的或者私人项目,常用于源代码版本控制,但是也可以用于保存各类文件。GitLab能够浏览源代码,管理缺陷和注释。GitLab可以管理团队对仓库的访...

    GitLab是项目管理和代码托管平台,可通过Web界面进行访问公开的或者私人项目,常用于源代码版本控制,但是也可以用于保存各类文件。GitLab能够浏览源代码,管理缺陷和注释。GitLab可以管理团队对仓库的访问,非常易于浏览提交过的版本并提供一个文件历史库。GitLab提供一个代码片段收集功能,可以轻松实现代码复用,便于日后有需要的时候进行查找。

    当前使用的是私服GitLab,搭建在内部服务器上,只有管理员授予账号才可以访问。

    Gitlab环境部署

    环境要求:内存不低于2G

    第一步,查看Linux版本信息。

    # 查看Linux系统的版本信息

    命令:cat /proc/version

    # 查看Linux系统发行版信息

    命令:cat /etc/redhat-release

    第二步,安装依赖包。

    命令:yum install policycoreutils openssh-server openssh-clients postfix

    systemctl enable sshd

    systemctl start sshd

    systemctl enable postfix

    systemctl start postfix

    第三步,下载并安装rpm包。

    方法一:通过rpm包进行安装。(一般选择这种方法)

    不同版本的Linux对应不同的rpm包。

    若Linux版本为Centos 7,则需要下载el7版本的GitLab。

    下载el7版本的GitLab,登录网址:

    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

    https://packages.gitlab.com/app/gitlab/gitlab-ce/search

    # 下载el7版本rpm

    命令:cd /usr/local/rpm

    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm

    或 wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm/download.rpm

    chown -R git:git /usr/local/rpm

    rpm -ivh gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm

    若结果显示“policycoreutils-python is needed by gitlab-ce”,则说明运行出现错误。又因为Linux版本为Centos 7,GitLab版本为el7,所以可以使用命令“yum install policycoreutils-python”来解决这个问题。若使用上述命令无效,则说明Linux版本一定不是centos 7。然后重新安装GitLab。

    若Linux版本为Alibaba Cloud Linux 3,则需要下载el8版本的GitLab。

    下载el8版本的GitLab,登录网址:

    https://packages.gitlab.com/app/gitlab/gitlab-ce/search,搜索下载gitlab-ce-15.0.0-ce.0.el8安装包,然后使用WinSCP将下载的安装包上传到/usr/local/rpm文件夹中。

    # 将/usr/local/rpm的所有者及所属组改为git,然后安装gitlab

    命令:cd /usr/local/rpm

    chown -R git:git /usr/local/rpm

    rpm -ivh gitlab-ce-15.0.0-ce.0.el8.x86_64.rpm

    若结果显示“policycoreutils-python-utils is needed by gitlab-ce”,则说明运行出现错误。又因为Linux版本为Alibaba Cloud Linux 3,GitLab版本为el8,所以可以使用命令“yum install policycoreutils-python-utils”来解决这个问题。

    方法二:通过yum源安装。

    新建/etc/yum.repos.d/gitlab-ce.repo文件,并在文件中写入下面的代码:

    [gitlab-ce]
    name=gitlab-ce
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
    Repo_gpgcheck=0
    Enabled=1
    Gpgkey=https://packages.gitlab.com/gpg.key

    # 更新本地yum缓存

    命令:yum makecache

    # 安装GitLab社区版

    命令:yum install gitlab-ce              #自动安装最新版

    或  yum install gitlab-ce-x.x.x      #安装指定版本

    第四步,修改配置文件。

    1)修改配置文件/etc/gitlab/gitlab.rb,在文件中做如下修改:

    # 把网址改为服务器公网IP(默认IP为8080,若8080已经使用,自定义其它端口),这个IP一定要在阿里云上进行授权配置。

    external_url 'http://x.x.x.x'

    2)确保防火墙启动成功

    命令:systemctl status firewalld

    若结果显示“Active: inactive (dead)”,则需要启动防火墙。

    systemctl start firewalld

    若结果显示“Active: active (running)”,则可以运行下面的命令:

    sudo firewall-cmd --permanent --add-service=http

    sudo firewall-cmd --permanent --add-service=https

    sudo systemctl reload firewalld

    若结果都显示“success”,则说明防火墙启动成功。

    3)把GitLab的端口号放开

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    若结果显示“success”,则说明GitLab的端口号成功放开。

    4)重新加载并启动

    命令:gitlab-ctl reconfigure

    若结果显示“ruby_block[supervise_redis_sleep] action run”,则会一直卡无法往下进行,这时需要按住“CTRL+C”强制结束,然后运行命令“sudo systemctl restart gitlab-runsvdir”,最后再次执行命令“sudo gitlab-ctl reconfigure”。

    gitlab-ctl restart

    若结果显示“ok: run”,则说明配置文件修改完成。

    GitLab常用命令

    gitlab-ctl start         # 启动所有GitLab组件

    gitlab-ctl stop          # 停止所有GitLab组件

    gitlab-ctl restart       # 重启所有GitLab组件

    gitlab-ctl status        # 查看服务状态

    gitlab-ctl reconfigure   # 启动服务

    gitlab-rake gitlab:check SANITIZE=true --trace  # 检查GitLab

    gitlab-ctl tail          # 查看日志

    1)GitLab的守护进程关闭和重启

    # 备注:GitLab的守护进程会默认开启nginx

    命令:gitlab-ctl stop nginx

    gitlab-ctl restart nginx

    # 释放资源,关闭GitLab

    命令:gitlab-ctl stop

    2)服务器重启或者GitLab意外停止,执行命令“gitlab-ctl start”。

    若结果显示“fail: sidekiq: runsv not running”等,则说明GitLab不能启动。可以使用下面命令来解决这个问题:

    systemctl start gitlab-runsvdir

    gitlab-ctl restart

    GitLab使用

    在浏览器的地址栏中输入ECS服务器的公网IP(GitLab的ip和端口号),无法访问。

    第一步,linux系统开放GitLab的端口号。

    命令:cd /etc/sysconfig

    ls -l

    结果显示“ip6tables-config”和“iptables-config”,但是没有查看到iptables文件。

    第二步,安装iptables-services。

    命令:yum install iptables-services

    第三步,启动iptables。

    命令:systemctl enable iptables

    systemctl start iptables

    第四步,在iptables中配置开放GitLab的端口号。

    命令:vim /etc/sysconfig/iptables

    在文件中添加下面的代码:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    第五步,重启防火墙。

    命令:service iptables restart

    第六步,重新登录GitLab。

    在浏览器的地址栏中输入ECS服务器的公网IP(GitLab的ip和端口号),登录GitLab的界面,第一次登录使用的用户名为 root,而密码在文件/etc/gitlab/initial_root_password中(密码不会含空格),且会在 24 小时后自动被删除。然后修改密码即可。

    第七步,登录GitLab时界面显示“502”。

    这个一般是权限问题,可以给予GitLab权限。

    命令:chmod -R 755 /var/log/gitlab

    创建Project

    第一步,安装Git工具。

    在linux中安装Git,使用自带的源安装。

    命令:yum install git

    第二步,生成密钥文件。

    使用ssh-keygen生成密钥文件.ssh/id_rsa.pub。

    命令:ssh-keygen       #连续回车四下

    cat .ssh/id_rsa.pub    #结果显示生成的秘钥

    第三步,在GitLab的主页中新建一个Project。

    点击“新建Project”,在“Blank Project”栏目中,填写“Project name”,“Project URL”和“Project slug”,其他默认,最后点击“创建Project”。

    第四步,添加ssh key导入第二步中生成的密钥文件内容。

    点击“添加ssh key”,然后在“key”中复制粘贴刚刚生成的秘钥,最后点击“添加key”。

    项目地址在进行clone操作时需要用到。

    卸载

    如果gitlab安装失败,那可以卸载gitlab并重装。注意:gitlab一定要卸载干净,否则会有不少麻烦。

    第一步,停服务。

    命令:sudo gitlab-ctl stop

    第二步,卸载gitlab。(需确认gitlab是ce版本还是ee版本)

    命令:sudo rpm -e gitlab-ce

    第三步,杀掉gitlab守护进程。(带有opt/gitlab/service log)

    命令:ps -ef|grep gitlab

    sudo kill -9 [PID]

    第四步,删除磁盘文件。

    命令:sudo find / -name gitlab |xargs rm -rf

    若结果提示“permission deny”,则手动逐层删除即可。

    第五步,下载的gitlab软件包也删除。

    既然看到这里了,就向大家打个广告。如果想要了解更多关于运维的知识,可以关注我的微信公众号:人文历史与科学技术,下面是二维码,谢谢大家!

    来源:https://zhuanlan.zhihu.com/p/534072989?utm_id=0&wd=&eqid=d8045075000020790000000364770dfe

    [编辑:王振袢 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: GitLab 项目管理 代码 托管 平台
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证