专栏首页HansBug's Lab【gitlab】gitlab快速部署教程

【gitlab】gitlab快速部署教程

gitlab快速部署教程

部署环境

  • Ubuntu 16.04(亲测可用)

开始部署

安装依赖

sudo apt-get install curl openssh-server ca-certificates postfix

执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)

下载软件包

下载页面: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/

可以自行选择想要部署的版本,使用命令curl进行下载

curl -O https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_11.3.6-ce.0_amd64.deb

安装软件包

sudo dpkg –i gitlab-ce_11.3.6-ce.0_amd64.deb

如果安装过程出现错误则需要自行解决依赖等问题(笔者安装时一切正常)

配置生成

sudo gitlab-ctl reconfigure

初次安装使用请一定记得生成配置

检查

输入以下命令检查是否安装正确

sudo gitlab-ctl status

出现类似以下的结果,则说明运行正常

run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s  
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s 
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s 
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s 
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s   
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s

 使用

使用的时候,系统管理员账户名称为root,需要先设置一个root账户密码。

如果出现502错误的话,则将以下文件的读权限打开

sudo chmod -R o+x /var/opt/gitlab/gitlab-rails

配置调整

部署域名调整

编辑配置文件

sudo nano /etc/gitlab/gitlab.rb

将内部的external_url修改为自己的部署域名,例如:

  • 如果是局域网直接ip访问的话,设置为http://xxx.xxx.xxx.xxx即可
  • 如果是外网通过域名访问的话,设置为http://your.domain-name.com

然后,重新生成配置

sudo gitlab-ctl reconfigure

自行使用nginx部署

实际上,这个快速部署的软件包内是自带nginx的,然而实际服务器部署的话,我们常常需要部署在系统原生的nginx上,我们可以按照这样的方式进行操作:

nginx配置文件中添加配置:

# gitlab socket 文件地址
upstream gitlab {
  # 7.x 版本在此位置
  # server unix:/var/opt/gitlab/gitlab-rails/tmp/sockets/gitlab.socket;
  # 8.0+ 版本位置(11.x版本亲测可用)
  server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;
}

server {
  listen *:80;

  server_name gitlab.liaohuqiu.com;   # 请修改为你的域名

  server_tokens off;     # don't show the version number, a security best practice
  root /opt/gitlab/embedded/service/gitlab-rails/public;

  # Increase this if you want to upload large attachments
  # Or if you want to accept large git objects over http
  client_max_body_size 250m;

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/gitlab/nginx/gitlab_access.log;
  error_log   /var/log/gitlab/nginx/gitlab_error.log;

  location / {
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see below
    try_files $uri $uri/index.html $uri.html @gitlab;
  }

  # if a file, which is not found in the root folder is requested,
  # then the proxy pass the request to the upsteam (gitlab unicorn)
  location @gitlab {
    # If you use https make sure you disable gzip compression 
    # to be safe against BREACH attack

    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://gitlab;
  }

  # Enable gzip compression as per rails guide: http://guides.rubyonrails.org/asset_pipeline.html#gzip-compression
  # WARNING: If you are using relative urls do remove the block below
  # See config/application.rb under "Relative url support" for the list of
  # other files that need to be changed for relative url support
  location ~ ^/(assets)/  {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    # gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }

  error_page 502 /502.html;
}

编辑gitlab配置文件

sudo nano /etc/gitlab/gitlab.rb

禁用掉自带的nginx(如果原本没有这句话的话需要加上)

nginx['enable'] = false

重启nginx,重启gitlab服务

sudo /usr/local/nginx/sbin/nginx -s reload
sudo gitlab-ctl reconfigure

同样的,如果再次出现502错误的话,需要修改一下配置

sudo chmod -R o+x /var/opt/gitlab/gitlab-rails

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法模板——splay区间反转 2

    实现功能:同splay区间反转 1(基于BZOJ3223 文艺平衡树) 这次改用了一个全新的模板(HansBug:琢磨了我大半天啊有木有),大大简化了程序,同时...

    HansBug
  • 1112: [POI2008]砖块Klo

    1112: [POI2008]砖块Klo Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1245  Solv...

    HansBug
  • 3301: [USACO2011 Feb] Cow Line

    3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MB Submit: ...

    HansBug
  • 自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想

    最近折腾了一番自建 gitlab,在此做个记录,供君参考。整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾...

    捷义
  • Gitlab安装部署及基础操作

    环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 ...

    山山仙人
  • gitlab10服务器搭建

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

    py3study
  • Ubuntu 环境下 gitlab 安装说明

    然后点击 Ubuntu 的安装过程.进去之后,按照第一步说的运行命令. 这里 使用的 Ubuntu 版本 是 18.04。

    多云转晴
  • Gitlab备份、迁移、恢复和升级

    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下

    山山仙人
  • Docker 方式安装 gitlab ( 阿里云ECS )

    我选择的是搜索出来的第一个镜像:docker.io/gitlab/gitlab-ce

    微风-- 轻许--
  • Gitlab环境搭建小计

    Gitlab 开源仓库软件包官方地址: https://about.gitlab.com/

    owent

扫码关注云+社区

领取腾讯云代金券