• CentOS7安装GitLab及基本使用


    目录

    安装准备

    安装GitLab

    初始化

    启停命令

    修改 root 密码

    设置简体中文

    创建用户

    创建群组

    修改external_url

    解决端口冲突

    8080

    8060

    解决GitLab头像异常问题

    IDEA和GitLab的集成

    1)IDEA安装 GitLab 插件

    2) 配置 SSH 免密登录(如已配置,则跳过)

    3)获取 GitLab 个人令牌

    4)添加 GitLab 服务

    5)修改默认分支的保护策略

    提交代码到GitLab

    卸载GitLab


    安装准备

    1)开启ssh:(已开启可跳过)

    sudo systemctl status sshd
    sudo systemctl enable sshd
    sudo systemctl start sshd

    2)防火墙开放http、https服务:(已关闭防火墙可跳过)

    sudo systemctl status firewalld
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo systemctl reload firewalld

    安装GitLab

    1)上传安装包 下载地址:gitlab/gitlab-ce - Packages · packages.gitlab.com

    安装包名称:gitlab-ce-16.2.1-ce.0.el7.x86_64.rpm

    安装包较大,建议下载好手动上传服务器。这里上传到/home/hadoop/installfile

    2)编写安装脚本

    cd ~/bin
    vim gitlab-install.sh

    脚本内容如下:

    1. sudo yum install -y curl policycoreutils-python openssh-server perl
    2. sudo rpm -ivh /home/hadoop/installfile/gitlab-ce-16.2.1-ce.0.el7.x86_64.rpm
    3. sudo yum install -y postfix
    4. sudo systemctl enable postfix
    5. sudo systemctl start postfix

    注意:gitlab安装包路径根据实际情况修改。

    3)修改脚本执行权限并执行

    chmod +x gitlab-install.sh
    sh gitlab-install.sh

    初始化

    执行过程大概需要3分钟:

    sudo gitlab-ctl reconfigure

    启停命令

    1)启动命令

    sudo gitlab-ctl start

    2)停止命令

    sudo gitlab-ctl stop

    修改 root 密码

    1)启动gitlab后,访问Web页面 默认使用80端口,浏览器访问安装服务器的hostname或ip

    node4

    2)修改root密码

    账号root,密码将随机生成并在 /etc/gitlab/initial_root_password 中保存24 小时,查看初始密码命令:sudo cat /etc/gitlab/initial_root_password

    [hadoop@node4 bin]$ sudo cat /etc/gitlab/initial_root_password
    # WARNING: This value is valid only in the following conditions
    #          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
    #          2. Password hasn't been changed manually, either via UI or via command line.
    #
    #          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
    ​
    Password: yIcU5mTT6SGWUGPzBXTZsvptzPD44/wnxTIvJLRiDdI=
    ​
    # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
    ​

    查看到密码在Password: 一行

    使用root账号及查到的密码登录。

    修改root密码

    点击Password,进入修改密码界面,注意密码不能太简单,且最小为8位。

    设置简体中文

    在Language设置简体中文

    点击左上角gitlab头像,返回首页,看到已经变成了中文

    创建用户

    为了更符合公司实际,我们假设数据组的leader账号为tutou,你是你名字拼音的缩写,例如:ljh。

    再创建一个开发用户

    重置密码

    用户会收到重置密码的邮件,也可以由管理员设置:

    根据页面提示设置密码。

    创建群组

    创建研发中心组

    在研发中心组下,再创建一个大数据组:

    对于人员权限以及角色,有如下五种:

    • Owner:最高权限,谁去创建组,这个组就被谁拥有,它可以开除管理员,但管理员无法操作owner的角色。

    • Maintainer :(管理员-只是具备sudo权限的用户)管理员一般是给小组的组长,或者是给产品线的总监设定。

    • Developer:是干活的人,就是写代码的程序员,可以进行代码的上传以及代码的下载,不能下载其他的组内的代码,只能下载它们组的代码。

    • Repoter:比如现在有需求,其他组的大牛到我们组过来指导工作,要审视我们的代码,人家就提出需要一个权限,我不能给它developer因为它会改你代码,其他组的人不能改我们组的代码,所以就给一个repoter权限,他只能看,只读权限。

    • guest:不用看,匿名,直接去掉。一般出现在从ldap中把离职人员的信息删掉,再去gitlab查这个人的时候,它就是一个guest用户(匿名)需要再到gitlab把它删掉(不删也没事)。

    将数据组的leader设为bigdata的负责人:

    邀请成员后,效果如下:

    修改external_url

    修改external_url

    sudo vim /etc/gitlab/gitlab.rb

    在文件中找到external_url,

    external_url 'http://gitlab.example.com'

    修改为如下内容

    external_url 'http://node4'

    保存退出

    重启GitLab生效

    sudo gitlab-ctl restart

    修改host

    此处的host决定了Web端项目Clone标签下看到的URL中使用的域名或主机名,如下。

    编辑gitlab.yml

    sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

    找到gitlab.host修改为如下内容

      gitlab:
        ## Web server settings (note: host is the FQDN, do not include http://)
        host: node4
        port: 80
        https: false

    保存退出 重启GitLab生效

    sudo gitlab-ctl restart

    查看效果

    解决端口冲突

    8080

    从GitLab 13.0开始,Puma是默认的应用程序服务器,GitLab 14.0及更高版本已删除对Unicorn的支持。Puma需要使用8080端口,而Zookeeper当前版本的Admin服务也会占用8080端口,因此,如果Zookeeper先于GitLab启动,则通过Web端访问GitLab将会报错,错误码为502

    (1)修改puma.rb

    [hadoop@node4 ~]$ sudo vim /var/opt/gitlab/gitlab-rails/etc/puma.rb

    将Puma绑定的TCP端口更改为8089,如下

    bind 'tcp://127.0.0.1:8089'

    保存退出

    (2)修改gitlab.rb

    [hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

    将Puma端口更改为8089

    puma['port'] = 8089

    注意:把行首的#注释删除

    保存退出

    (3)重新加载配置

    [hadoop@node4 ~]$ sudo gitlab-ctl reconfigure

    (4)重启GitLab

    [hadoop@node4 ~]$ sudo gitlab-ctl restart

    注:重启后可能需要等待几十秒方可恢复Web端访问

    8060

    默认情况下GitLab会在本地的8060端口启动服务来监控NGINX服务的状态,而Doris的brpc_port默认端口也是8060,这个端口是用于Backends之间及Backends和Frontends通信的,如果被占用则Backend进程无法启动。 我们可以修改Doris集群Backends的brpc_port端口,也可以修改GitLab的nginx-status端口,此处选择后者。

    (1)编辑/etc/gitlab/gitlab.rb

    [hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

    (2)在文件中做出以下修改

    找到nginx['status'],打开注释,修改为以下内容

    1. nginx['status'] = {
    2. "enable" => true,
    3. "listen_addresses" => ["127.0.0.1"],
    4. "fqdn" => "127.0.0.1",
    5. "port" => 9999,
    6. "vts_enable" => true,
    7. "options" => {
    8. "server_tokens" => "on", # Don't show the version of NGINX
    9. "access_log" => "on", # Disable logs for stats
    10. "allow" => "127.0.0.1", # Only allow access from localhost
    11. "deny" => "all" # Deny access to anyone else
    12. }
    13. }

    保存退出。

    (3)重新加载配置

    [hadoop@node4 ~]$ sudo gitlab-ctl reconfigure
    

    (4)重启

    [hadoop@node4 ~]$ sudo gitlab-ctl restart
    

    解决GitLab头像异常问题

    (1)编辑配置文件

    [hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

    (2)修改或添加plain_url和ssl_url

    将默认的Gravatar服务器的URL替换为国内镜像地址

    ### Gravatar Settings
    gitlab_rails['gravatar_plain_url'] = 'http://gravatar.loli.net/avatar/'
    gitlab_rails['gravatar_ssl_url'] = 'https://gravatar.loli.net/avatar/'

    (3)重新加载配置生效

    [hadoop@node4 ~]$ sudo gitlab-ctl reconfigure
    

    IDEA和GitLab的集成

    1)IDEA安装 GitLab 插件

    2) 配置 SSH 免密登录(如已配置,则跳过)

    进入windows cmd命令行,执行如下命令

    ssh-keygen -t rsa -C your@email.com

    邮箱可以任意写,建议改成自己的邮箱

    执行命令后,连续敲三次回车

    到用户目录下.ssh查看id_rsa.pub公钥文件

    将公钥(id_rsa.pub)文件内容添加到GitLab中:

    3)获取 GitLab 个人令牌

    点击头像->编辑个人资料

    复制个人访问令牌  

    4)添加 GitLab 服务

    添加成功如下

    5)修改默认分支的保护策略

     

    提交代码到GitLab

    新建Maven工程,工程名称,例如:demogitlab

    创建.gitignore文件

    在工程根目录,新建.gitignore文件,内容如下:

    1. /**/target
    2. /**/.idea
    3. *.iml
    4. *.class
    5. **/*/dependency-reduced-pom.xml

    上传工程代码到GitLab

    填写工程名,选择Group信息,点击Share 

    点击Yes 

    返回浏览器,查看gitlab项目,看到上传成功如下:

    接下来,开发人员开发代码,并提交代码

    登录开发者账号,例如:ljh,首次登录后提示提示更改密码,及修改显示语言。

    开发人员代码开发

    1. package org.example;
    2. public class Hello {
    3. public static void main(String[] args) {
    4. System.out.println("Hello World!");
    5. }
    6. }

    开发人员提交代码到GitLab

    申请个人访问令牌

    删除原有IDEA令牌,设置开发用户的令牌

     

    提交代码

    点击Push提交成功后,到浏览器页面查看demogitlab项目的提交情况,看到了最新的提交内容如下:

    卸载GitLab

    如果需要卸载gitlab

    1 )卸载gitlab

    [hadoop@node4 installfile]$ sudo rpm -e gitlab-ce-16.2.1-ce.0.el7.x86_64

    2 )删除gitlab文件

    [hadoop@node4 installfile]$ sudo rm -rf /etc/gitlab
    [hadoop@node4 installfile]$ sudo rm -rf /var/opt/gitlab
    [hadoop@node4 installfile]$ sudo rm -rf /opt/gitlab

    完成!enjoy it!

  • 相关阅读:
    四川大学计算机考研资料汇总
    Java泛型接口以及案例说明(四)
    Go:测试库testify简介
    如果重回大一学软件工程,你会做什么?
    Python最重要的知识:字符串教程
    【Qt之信号和槽】对象多层嵌套后,高效使用信号和槽
    猿创征文丨赶紧进来看看!!!你可能都不清楚的三种变量和零值比较
    JAVA:实现是否为Prime素数算法(附完整源码)
    思科CCNP在OSPF路由协议中的五类LSA是什么
    ‘Xcode Unable to execute command: Segmentation fault: 11‘
  • 原文地址:https://blog.csdn.net/qq_42881421/article/details/139908855