zoukankan      html  css  js  c++  java
  • Ubuntu18.04 GitLab仓库服务器搭建

    首先安装必须的一些依赖

    sudo apt-get update
    sudo apt-get install -y curl openssh-server ca-certificates
    

    安装Postfix发送通知邮件

    sudo apt-get install -y postfix

    运行命令后,会出现一样邮件配置项,选择Interent site这项,然后一路回车键使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择 Internet Site)

    官方源安装gitlab

    官方源网站安装gitlab(如果官网无法安装,请参照下边步骤,利用国内安装源进行安装)

    sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    sudo apt-get install gitlab-ce

    国内源安装gitlab

    信任 GitLab 的 GPG 公钥(配置git的公钥,如果不信任公钥,无法配置清华大学的镜像路径,切记):

    curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
    

    配置镜像路径(由于git官网是国外的服务器,所以配置清华大学的镜像路径)

    切换到root用户,打开下面文件;将下边的信息添加到文档中(详见Gitlab Community Edition 镜像使用帮助

    vi /etc/apt/sources.list.d/gitlab-ce.list  --打开文件
    deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main  --添加国内安装源

    gitlab安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

    国内源安装 gitlab-ce

    sudo apt-get update  --更新
    sudo apt-get install gitlab-ce  --安装

     

    执行配置

    sudo gitlab-ctl reconfigure
    

     注1:

    在执行配置的时候sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,出现会一直卡无法往下进行!

    解决方案:

    1、按住CTRL+C强制结束;

    2、运行:sudo systemctl restart gitlab-runsvdir

    3、再次执行:sudo gitlab-ctl reconfigure

     注2:(自己遇到的坑,在网上查的资料得知,)

    1. 在ruby_block动作运行一步会出现超时

    运行处理程序:运行gitlab-ctl reconfigure时出错:ruby_block [使用GitLab授权Grafana](监视:: grafana第95行)发生错误:Mixlib :: ShellOut :: CommandTimeout:命令在600秒后超时:命令超出允许执行时间,进程终止
    ----开始输出/ opt / gitlab / bin / gitlab-railsRunner -e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/ -/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' ---- STDOUT:
    STDERR:
    ---- / opt / gitlab / bin / gitlab-railsRunner的最终输出-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx。 xx.xx /-/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app。
    ----运行/ opt / gitlab / bin / gitlab-railsRunner
    -e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/-/grafana/login/ gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' 

    2.sudo gitlab-rake gitlab:env:info正常返回虽然有时上面一步出现超时,测试发现已经可以通过浏览器访问Gitlab服务器,并且可以进入到注册页面,但提交注册时出现返回超时而用户可以成功注册的情况。配置信息,页面返回虽然超时但操作可以正常完成,这也是我判断可能是服务运行过缓慢导致超时的原因。

    3.在登录时反复超时,无法正常使用。将服务器内存配置替换为2GB后解决超时问题

    注3:如果遇到这种报错信息的话,应该是git用户权限的问题。git用户需要对包含.ssh目录的文件夹(包含父文件夹)执行权限。

    Running handlers:
    There was an error running gitlab-ctl reconfigure:
    
    service[grafana] (dynamically defined) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
    ---- Begin output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
    STDOUT: timeout: run: /opt/gitlab/service/grafana: (pid 5165) 33s, got TERM
    STDERR:
    ---- End output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
    Ran /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana returned 1

     即使/var/opt/gitlab/.ssh的所有者和用户组都是git,由于父权限,它也不能到这级目录执行shell命令。即,给 /var/opt/gitlab/目录执行权限

    chmod +x /var/opt/gitlab/
    chmod +x /var/opt/
    chmod +x /var/

    如果执行不成功,就用sudo命令执行

    启动gitlab

    sudo gitlab-ctl start
    

     

    浏览器进行访问

    http://电脑的IP地址
    

      第一次进入,需要输入管理员账号的密码,以方便后期的管理。
    输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码。
    至此,gitlab已安装成功,之后的使用方式,和github没有太大差异,就不进行介绍了

    扩展

    修改gitlab的端口和地址

    编辑gitlab.rb

    sudo gedit /etc/gitlab/gitlab.rb
    

    将如下数据进行更改

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

    比如说更改为

    external_url 'http://192.168.39.100:7800'
    

    其中,192.168.39.100是安装了gitlab的这台电脑的IP,端口只要不冲突就行

    更改之后,需要执行如下代码

    sudo gitlab-ctl reconfigure 
    

    最后,在浏览器中访问gitlab,发现已修改成功,需要使用192.168.39.100:7800来访问

     

    其他

    gtilab部分命令

    开启
    sudo gitlab-ctl start
    停止
    sudo gitlab-ctl stop
    重启
    sudo gitlab-ctl restart
    查看状态
    sudo gitlab-ctl status
    确认配置(修改配置后,必须执行)
    sudo gitlab-ctl reconfigure
    查看日志
    sudo gitlab-ctl tail 
    查看 GitLab 版本号
    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 
    

    卸载gitlab

    sudo gitlab-ctl uninstall
    
    sudo dpkg -r gitlab-ce
    
    sudo rpm -e gitlab-ce
    
    reboot(重启)
  • 相关阅读:
    阿里云OSS学习
    spring学习(十二)--spring中WebApplicationInitializer解析
    spring学习(十)--WebApplicationInitializer接口替代web.xml启动spring容器
    tomcat学习(二)--tomcat配置详解
    tomcat学习(一)--tomcat请求过程
    WEB工程中web.xml文件基本配置
    MAVEN学习(九)--利用nexus创建私服供上传下载jar包
    NGINX学习(九)--nginx配置示例
    Django所有ORM总结
    ORM一般操作
  • 原文地址:https://www.cnblogs.com/xingyunqiu/p/10691004.html
Copyright © 2011-2022 走看看