当前位置:   article > 正文

gitlab部署教程_执行gitlab-ctl reconfigure报had an error:errno::eisdi

执行gitlab-ctl reconfigure报had an error:errno::eisdir:is a directory

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

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访问

  1. sudo yum install -y curl policycoreutils-python openssh-server
  2. sudo systemctl enable sshd
  3. sudo systemctl start sshd
  4. sudo firewall-cmd --permanent --add-service=http
  5. sudo systemctl reload firewalld


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

  1. sudo yum install postfix
  2. sudo systemctl enable postfix
  3. sudo systemctl start postfix

4:安装gitee

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

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

 

5:修改配置文件

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

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

gitlab-ctl reconfigure

重启gitlab

gitlab-ctl restart

 

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

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

文件内容参考如下

  1. upstream gitlab {
  2. server unix:/var/opt/gitlab/gitlab-workhorse/socket;
  3. }
  4. server {
  5. listen *:80;
  6. server_name cwj.wechat-class.com; # 请修改为你的域名
  7. server_tokens off; # don't show the version number, a security best practice
  8. root /opt/gitlab/embedded/service/gitlab-rails/public;
  9. client_max_body_size 250m;
  10. access_log logs/gitlab.access.log;
  11. error_log logs/gitlab.error.log;
  12. location / {
  13. try_files $uri $uri/index.html $uri.html @gitlab;
  14. }
  15. location @gitlab {
  16. proxy_read_timeout 300; # Some requests take more than 30 seconds.
  17. proxy_connect_timeout 300; # Some requests take more than 30 seconds.
  18. proxy_redirect off;
  19. proxy_set_header X-Forwarded-Proto $scheme;
  20. proxy_set_header Host $http_host;
  21. proxy_set_header X-Real-IP $remote_addr;
  22. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23. proxy_set_header X-Frame-Options SAMEORIGIN;
  24. proxy_pass http://127.0.0.1:9500;
  25. }
  26. location ~ ^/(assets)/ {
  27. root /opt/gitlab/embedded/service/gitlab-rails/public;
  28. expires max;
  29. add_header Cache-Control public;
  30. }
  31. error_page 502 /502.html;
  32. }

 

下面这个是截图哈~

修改好重启gitlab和nginx

  1. gitlab-ctl reconfigure
  2. gitlab-ctl restart
  3. nginx -s reload

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

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

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/557910
推荐阅读
相关标签
  

闽ICP备14008679号