【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
【gitlab】gitlab快速部署教程的更多相关文章
- Hexo快速部署教程
一直有建立博客的需要,使用过Wordpress动态博客,一直访问速度比较慢,刚开始以为是空间域名的解析的问题,尝试使用Hexo静态博客,部署后感觉速度正常很多,特意发文快速部署教程 准备 本文是在wi ...
- Gitlab环境快速部署(RPM包方式安装)
之前梳理了一篇Gitlab的安装CI持续集成系统环境---部署Gitlab环境完整记录,但是这是bitnami一键安装的,版本比较老.下面介绍使用rpm包安装Gitlab,下载地址:https://m ...
- ubuntu快速部署gitlab汉化容器
前言:gitlab的原理我就不扯了(看这个https://www.jianshu.com/p/567207ac51cd),下面直接上操作 1.前提: a.要有docker的运行环境,用service ...
- docker-compose 快速部署持续集成测试环境 Gitlab+Harbor+Jenkins pipeline 实现 tag run docker Images
环境 测试部署主机IP:192.168.1.1 Jenkins主机IP:192.168.1.2 Harbor主机IP:192.168.1.3 Gitlab主机IP:192.168.0.10 系统信息: ...
- 使用Docker快速部署Gitlab
使用Docker部署Gitlab 1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 GITLAB_HOME=`pwd`/data/git ...
- Gitlab 快速部署及日常维护 (二)
一.概述 上一篇我们将Gitlab的安装部署和初始化设置部分全部讲解完成了,接下来我们介绍Gitlab在日常工作中常遇见的问题进行梳理说明. 二.Gitlab的安装和维护过程中常见问题 1.Gitla ...
- Gitlab 快速部署及日常维护 (一)
一.GitLab简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 二.GitLab系统架构git用户的主目录通常是/home/git(~ ...
- Docker快速部署gitlab
环境: Centos7.5 安装Docker 1.移除旧版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ do ...
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...
随机推荐
- mySQL查看运行的进程
查看运行的进程 show processlist kill id 杀掉进程
- VS2019 实用操作
本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...
- mysql 8.0.X 创建新的数据库、用户并授权
一.创建数据库 mysql> create database jira; Query OK, 0 rows affected (0.09 sec) 二.创建用户 mysql> create ...
- [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构
万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...
- Windows Server 2008 R2提示api-ms-win-crt-runtime-l1-1-0.dll 丢失解决方法
在一台服务器的全新windows Server 2008 R2 服务器上配置php运行环境, 在启动Apache之后,显示下图错误: 解决方法: 1.安装VC redit.exe程序解决 是VC的一个 ...
- Element类型和HTML元素获取
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- servlet(1)
servlet类分级: 1.ServletConfig接口类:理解为读取servlet配置的类,里面有四个抽象方法如下: ①getServletName:获取servlet在web.xml中的名字 ② ...
- codeforces342B
Xenia and Spies CodeForces - 342B Xenia the vigorous detective faced n (n ≥ 2) foreign spies lined u ...
- win10 安装docker
看介绍说docker不支持win10家庭版,但是一搜安装教程也有好多在家庭版上安装的,而且也不麻烦,不知道咋回事 1.查看虚拟化状态 一开始我的是没有开启的,从bios开启的 一般是开始按F2,进入b ...
- 洛谷 P1903 [国家集训队]数颜色 / 维护队列
墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会向你发布如下指令: 1. \(Q\) \(L\) \(R\) 代表询问你从第L支画笔到第R支画笔中共有几种不同 ...