gitlab搭建
环境说明:
虚拟机 centos 7 64位
内存:4GB
存储:100GB
CPU: CORE
版本:
gitlab 10.0.3
- 配置系统基础环境
配置阿里巴巴 yum 源
wget -O /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
重建yum 的缓存
yum clean all
yum makecache
配置 yum 的本地源
mount ~/CentOS-7-x86_64-DVD-1708.iso /mnt/cdrom/
修改本地 yum 的配置
git clone https://gitlab.com/xhang/gitlab.git
将 baseurl 的参数增加一个列表
git clone https://gitlab.com/xhang/gitlab.git
修改enabled值,改为
enabled=1
- 安装gitlab 环境准备
安装 git
yum install -y git
创建 gitlab汉化版的源码目录,等一下使用git clone 一份新的代码
mkdir gitlab_zh
cd gitlab_zh
git clone https://gitlab.com/xhang/gitlab.git
当前作者下载汉化源码为10.0.4,但是即将安装的 gitlab 版本为 10.0.3
- 安装gitlab
安装 gitlab 的依赖包
yum install curl openssh-server openssh-clients postfix
cronie policycoreutils-python –y
yum install -y patch
启动 postfix,并且设置为开机启动
systemctl start
postfix
systemctl enable
postfix
设置防火墙
firewall-cmd
--add-service=http --permanent
firewall-cmd
--reload
大家从网上下载好 gitlab 的rpm 包后,就可以安装了
rpm -i gitlab-ce-10.0.3-ce.0.el7.x86_64.rpm
gitlab 下载地址:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
当 shell 中出现以下内容,则证明 gitlab 的程序安装完了
继续安装提示执行配置 gitlab 的命令
gitlab-ctl
reconfigure
修改 gitlab 的配置文件
vi /etc/gitlab/gitlab.rb
修改里面的 external_url 参数,例如作者的机器的IP地址为 10.211.55.10
external_url='http://10.211.55.10'
因为修改了配置文件,所以重新加载配置文件
gitlab-ctl
reconfigure
- 汉化 gitlab
使用汉化包来为社区版本的 gitlab 打补丁
停止 gitlab 服务
gitlab-ctl stop
切换到 刚才从 github 上download 的汉化包目录
cd /root/source/gitlab_zh/gitlab/
找出安装的 10.0.3 版本和 汉化版本10.0.4 中的不同点
git diff v10.0.3 v10.0.4-zh
> ../10.0.3-zh.diff
目录倒退一层
cd ../
将 10.0.3-zh.diff 的补丁添加到 gitlab 中
patch -d /opt/gitlab/embedded/service/gitlab-rails
-p1 < 10.0.3-zh.diff
重新启动 gitlab 服务
gitlab-ctl start
重新配置 gitlab
gitlab-ctl
reconfigure
软件安装部分就完成了,以下是web 页面配置部分
- web页面配置
由于作者本机的IP 地址为 10.211.55.10,而且gitlab 默认的端口号为 80,所以使用浏览器访问以下地址:
http://10.211.55.10:80
用户自己在页面上输入 新的密码,该密码为 管理员密码
未来管理员的登陆名为 root,密码为刚才修改的密码
- 配置gitlab 用户注册时的邮箱通知信息
修改 /etc/gitlab/gitlab.rb 配置文件,该邮箱地址是未来gitlab 向用户发送邮件时的推送邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
# 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
gitlab_rails['smtp_port'] = 25 # 用户smtp 的端口号
gitlab_rails['smtp_user_name'] = "***@qq.com"
# 用户的邮箱地址
gitlab_rails['smtp_password'] = "PASSWORD"
# 用户的邮箱密码
gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = '***@qq.com'
# 用户的邮箱地址
user['git_user_email'] = "***@qq.com" # 用户的邮箱地址
作者在这里给大家一个提醒,如果大家安装gitlab 的环境为阿里云,一定要确认25 端口是否能够使用,作者就由于之后在阿里云上部署gitlab时,遇到25 端口无法使用的问题,所以一直导致在注册新用户时,邮件无法发送出去,这个时候解决方法可以选择使用打开 ssl 加密传输,这样端口就不再是 25 端口了,例如qq 的邮件配置应该变为
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
# 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
gitlab_rails['smtp_port'] = 465 # 用户smtp 的端口号
gitlab_rails['smtp_user_name'] = "***@qq.com"
# 用户的邮箱地址
gitlab_rails['smtp_password'] = "PASSWORD"
# 用户的邮箱密码
gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = '***@qq.com'
# 用户的邮箱地址
user['git_user_email'] = "***@qq.com" # 用户的邮箱地址
gitlab_rails['smtp_tls'] = true # 打开 ssl 加密传输
因为修改了配置文件,所以重新加载配置文件
gitlab-ctl
reconfigure
因为有时候邮箱的密码需要不定时修改,所以未来管理员也会同步修改登录邮箱的密码,在修改了配置文件后,所以在重新加载后,可以通过以下命令查看刚才修改的内容是否生效
gitlab-ctl
show-config | grep smtp_password
管理员还需要在web的管理页面上修改对应的配置,管理员的配置页面可以点击以下按钮
gitlab是否打开新用户注册
如果管理员需要自己手工添加新用户可以在以下页面配置
其他的一些技术点
- 查看gitlab 的配置
gitlab-ctl
show-config
- 查看gitlab 的运行日志
gitlab-ctl tail
- 切换gitlab 仓库的数据目录
gitlab 默认的仓库数据目录为 /var/opt/gitlab/git-data/repositories/ ,如果未来用户的数据量大了,需要更换仓库数据目录,可以通过修改 /etc/gitlab/gitlab.rb
配置进行调整。
用户在调整gitlab 的配置之前,建议对其先停止服务。
gitlab-ctl stop
然后用户创建好未来要迁移的数据目录,并且将原来的数据 迁移 过去,由于作者的 gitlab 是通过 rpm 包安装的,所以gitlab 的系统用户为 git,用户组为 root,所以在拷贝数据后还需要修改新数据目录的用户归属,否者后面gitlab 无法对该目录写入新的数据。
mkdir -p /mnt/gitlab/git-data/
mv /var/opt/gitlab/git-data/repositories/* /mnt/gitlab/git-data/repositories/
chown -R git:root
/mnt/gitlab/git-data/*
然后用户就可以对 /etc/gitlab/gitlab.rb 进行调整了。
/etc/gitlab/gitlab.rb 默认对 数据目录 的配置是注释的。
用户可以新增配置信息
git_data_dirs({
"default" =>
{
"path" =>
"/mnt/gitlab/git-data"
}
})
然后对 gitlab 重新刷新配置
gitlab-ctl
reconfigure
重启 gitlab 服务
gitlab-ctl restart
- 修改gitlab 的nginx服务端口号
首先还是需要先关闭gitlab的服务
gitlab-ctl stop
修改 /etc/gitlab/gitlab.rb 文件(作者是在root 用户下直接修改的)
找到以下内容(作者对应是859行),修改为 nginx['listen_port']
= 8080
##! **Override
only if you use a reverse proxy**
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#setting-the-nginx-listen-port
#
nginx['listen_port'] = nil
同时还需要在 /etc/gitlab/gitlab.rb 文件 找到以下内容(作者对应的是 587 行),将 unicorn['port']
设置为 8082(因为8080 端口已经被占用了)
### Advanced
settings
# unicorn['listen'] = '127.0.0.1'
# unicorn['port'] =
8080
修改后的内容变为
### Advanced
settings
# unicorn['listen'] = '127.0.0.1'
unicorn['port'] =
8082
用户还需要在 /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
文件上找到以下内容(作者对应是 第7行 ),将listen 的端口设置为 8082
# What
ports/sockets to listen on, and what options for them.
listen "127.0.0.1:8080", :tcp_nopush => true
修改后的内容变为
# What
ports/sockets to listen on, and what options for them.
listen "127.0.0.1:8082", :tcp_nopush => true
更新gitlab 的配置
gitlab-ctl
reconfigure
用户在
/var/opt/gitlab/nginx/conf/gitlab-http.conf 文件中,找到以下内容(作者对应是38行),将原来默认的的listen *:80 会被刷新为修改后的8080 (nginx 的端口就变为 8080)
upstream
gitlab-workhorse {
server
unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
server {
listen
*:8080;
重启 gitlab 服务
gitlab-ctl restart
这里用户一定要注意,如果直接修改 /var/opt/gitlab/nginx/conf/gitlab-http.conf
文件的 内容,则在执行 gitlab-ctl
reconfigure 后,修改值会被覆盖
gitlab搭建的更多相关文章
- 用GitLab搭建自己的私有GitHub
相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- GitLab搭建详细过程
一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和相关依赖包 1.添加epel源 ...
- Ansible+Jenkins+Gitlab搭建及配置
Ansible+Jenkins+Gitlab搭建及配置,已经生产环境使用,运行良好. 主机组文件里面好多ip敏感信息就不写了
- gitlab搭建与基本使用【转】
一.git.github.gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务.GitHub是2008年由Ruby on Rails编写而成.GitHub同时提供付费账 ...
- gitlab搭建之互备模式
gitlab搭建之互备模式 gitlab搭建之互备模式 前言:gitlab目前默认的部署方式是本地单机部署,为了提高gitlab环境的可靠性和稳定性,必须构建一套互备搭建方案:借助gitolilt ...
- GitLab → 搭建私有的版本控制的托管服务平台
开心一刻 睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了.” 我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去 媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了.” 我:“对哦,搞习惯了” ...
- GitLab → 搭建中常遇的问题与日常维护
开心一刻 隔壁有一个80多岁的老大爷,昨天在小区的一棵树下发现一条黑色的蛇,冻僵了,大爷善心大发,就把蛇揣在了怀里,想给它一点温暖. 今天一大早看到大爷在树上挂了一个牌子,写到:不准随地大小便! 搭建 ...
- gitlab 搭建(基于现有nginx)
普通搭建请看:gitlab 搭建 一.gitlab搭建 1.添加GitLab镜像源并安装gitlab服务器 wget https://mirrors.tuna.tsinghua.edu.cn/gitl ...
- ubuntu12.04 gitlab搭建
最近在尝试内部搭建gitlab,wiki这些工具...我使用的官网的gitlab-ce包一键安装,自己搭建的ubuntu12.04 server服务器. 分配253地址,放在办公室的小角落. 配置过程 ...
随机推荐
- 微信小程序样式旋转
相关文档:http://www.w3school.com.cn/cssref/pr_transform.asp index.wxss文件 注意:如果是web前端,要注意浏览器的兼容性 .x1{ wid ...
- PyQt5之使用Qt下的designer工具将.ui文件转换成.py文件后添加什么东西后方可运行
首先证明我是加了那些鬼东西以后可以成功运行的. 然后来叙述一下我的过程. 这是一个.ui文件生成的.py文件.(把主要的内容省去了,但是没有影响结构) # -*- coding: utf-8 -*- ...
- mysql-8.0.13在windows上的部署
1 .下载mysql-8.0.13-x64 官方网站:https://dev.mysql.com/downloads/mysql/ 2.解压到G盘 3.准备my.ini文件保存到解压目录 [mysql ...
- ASM检查RAC是否成功
[grid@asm ~]$ crsctl status resourceNAME=ora.DATA.dgTYPE=ora.diskgroup.typeTARGET=ONLINESTATE=ONLINE ...
- FPC全制造组装的流程介绍(转载)
[维文信FPC]FPC又称柔性电路板,FPC的PCBA组装焊接流程与硬性电路板的组装有很大的不同,因为FPC板子的硬度不够,较柔软,如果不使用专用载板,就无法完成固定和传输,也就无法完成印刷.贴片.过 ...
- python smtp 发邮件 添加附件
# -*- coding:utf-8 -*- # __author__ = 'justing' import os import smtplib from email.mime.multipart i ...
- 2018-2019-2 网络对抗技术 20165321 Exp1 PC平台逆向破解
1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序 ...
- typeof 踩坑总结
typeof '123' == 'string' // true typeof ('123' == 'string' ) // "boolean" typeof 123 == N ...
- C# 按不同的字节编码,通过字节数去截取字符串
/// <summary> /// 按不同的字节编码,通过字节数去截取字符串 /// 数据库UTF-8 1个数字.字母.英文符号算1个长度 1个中文.中文符号算3个长度 /// </ ...
- Vue.js数据响应基础原理
许多前端JavaScript框架(例如Angular,React和Vue)都有自己的数据相应引擎.通过了解相应性及其工作原理,您可以提高开发技能并更有效地使用JavaScript框架.在视频和下面的文 ...