gitlab部署教程

开始部署之前,我先介绍一些相关知识

1:gitlab是什么

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

    简单的说呢,git可以管理软件代码,gitlab是部署在服务器端的,可以使用git将代码上传到服务器保管,gitlab就是服务器端管理项目的一个web工具。当然,还有很多的其他功能。例如管理代码,codereview,项目集成,配合jenkins或puppet 等可以实现代码自动化发布(企业项目管理工具),自动化测试 等等。。有兴趣自己百度哈~

2:为什么不用现成的工具,要自己部署gitlab ?

  类似的项目有github,国内的码云 等等。

  都是非常好用的,优点就不说了,说说缺点:

      github: 是国外的网站,不的花访问速度比较慢,而且代码是开源的,创建私密项目要收费。

      码云:5个人一下可以免费使用,5人以上的团队合作要收费。

     共同缺点:代码都是在人家的服务器上面的,有一定的风险,还要收费,或者有其他的限制。。

 自己搭建gitlab的优点:

       免费,可以很多人合作,代码都是在自己的服务器上面的,安全。一般大公司都是自己在公司内网搭建一套gitlab系统用来管理项目的~

部署gitlab过程演示:

    接下来实操一下部署过程。本教程部署环境:阿里云Centos7.2  4核8G内存  

1:国内镜像下载地址

rpm包下载地址

2:开放防火墙和http,ssh访问

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

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


3:安装Postfix以发送通知电子邮件 (可能会出现配置屏幕。选择“Internet Site”并按Enter键。),逐一执行以下命令

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

4:安装gitee

rpm -i gitlab-ee-11.9.0-ee.0.el7.x86_64.rpm

gitlab部署教程_第1张图片

出现如上提示说明安装成功

 

5:修改配置文件

vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.wechat-class.com'   //修改external_url 属性为自己的域名
 unicorn['port'] = 9500 //改成自己gitlab服务的端口

让gitlab重新生成配置【这一步执行的时间比较长,估计要2分钟】

gitlab-ctl reconfigure

重启gitlab

gitlab-ctl restart

 

gitlab部署教程_第2张图片

执行命令查看是否启动成功

netstat -ntlp | grep gitlab

然后访问域名cwj.gitlab.com就可以愉快地使用gitlab啦

 

附属教程:

教程1:使用自己服务器的nginx

1.1 修改配置文件  vim /etc/gitlab/gitlab.rc

nginx['enable'] = false

1.2 在nginx下面添加配置文件 gitlab.conf

文件内容参考如下

upstream gitlab {
    server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
server {
    listen *:80;
    server_name cwj.wechat-class.com;   # 请修改为你的域名
    server_tokens off;     # don't show the version number, a security best practice
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    client_max_body_size 250m;
    access_log  logs/gitlab.access.log;
    error_log   logs/gitlab.error.log;
    location / {
        try_files $uri $uri/index.html $uri.html @gitlab;
    }
    location @gitlab {
        proxy_read_timeout 300; # Some requests take more than 30 seconds.
        proxy_connect_timeout 300; # Some requests take more than 30 seconds.
        proxy_redirect     off;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Frame-Options   SAMEORIGIN;
        proxy_pass http://127.0.0.1:9500;

    }
    location ~ ^/(assets)/  {
        root /opt/gitlab/embedded/service/gitlab-rails/public;
        expires max;
        add_header Cache-Control public;
    }
    error_page 502 /502.html;
}

 

下面这个是截图哈~

修改好重启gitlab和nginx

gitlab-ctl reconfigure

gitlab-ctl restart

nginx -s reload

特别注意:nginx配置中的proxy_pass要改成自己设置的端口

如果/etc/gitlab/gitlab.rb 配置文件中是这样配置unicorn['port'] = 8888,则nginx要改成 proxy_pass http://127.0.0.1:8888;

 

你可能感兴趣的:(linux,gitlab,开发工具,gitlab,环境配置)