Gitlab本地部署安装配置

最近要新起一个较大型的项目,鉴于之前用SVN的不良体验,准备在这个项目中使用gitlab来做代码管理,顺便利用gitlab的统计功能来辅助项目管理。

1. gitlab安装

1.1 gitlab ce or ee

Community Edition or Enterprise Edition,ce和ee分别指的是社区版和企业版,毫无疑问社区版已经能满足我们的需求了。

1.2 系统准备

使用centos7作为gitlab服务器操作系统,在安装前需要做基础环境的准备:

yum install curl policycoreutils openssh-server openssh-clients 
#相关软件要么系统已经有了 要么在系统安装盘ISO文件中可以获取到
#需要做的就是把ISO文件挂载,然后在yum源配置中进行添加

这里没有选择安装postfix,鉴于项目实施环境,有可能使用局域网邮箱,如果需要用postfix,可以安装并启动:

yum install postfix
systemctl start postfix

1.3 安装gitlab-ce

如果能连到互联网环境,且网络条件比较好,我尝试直接yum安装也很顺利。
yum install gitlab-ce

[root@localhost gitlab]# yum list |grep gitlab

gitlab-ce.x86_64                            11.4.5-ce.0.el7            @gitlab-ce

如果这种方式不行,则可以使用清华大学的镜像源:

新建/etc/yum.repos.d/gitlab-ce.repo,内容为:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1 

然后执行安装:

sudo yum makecache
sudo yum install gitlab-ce

方法参考:Gitlab Community Edition 镜像使用帮助

如果不能链接外网,则从清华大学开源软件镜像站下载rpm包进行安装。
rpm -ivh gitlab-ce-11.4.5-ce.0.el7.x86_64.rpm

2. gitlab基础配置

gitlab安装很简单,并且安装后既可以直接执行运行命令,但是其默认的一些设置参数并不合理,需要修改一下。

2.1 修改系统端口

GitLab默认会占用80、8080和9090端口,如果服务器上还有tomcat、Jenkins等其他服务,可能会遇到端口冲突。
所以,这一步操作将会修改GitLab的默认端口为11000、11001和11002。
用vim打开gitlab的配置文件:
vim /etc/gitlab/gitlab.rb

找到关键字:external_url 'http://127.0.0.1'
将其内容改为:external_url 'http://<服务器地址或域名>:11000'

找到关键字:unicorn['port'] = 8080
将其内容改为:unicorn['port'] = 11001

找到关键字:prometheus['listen_address'] = 'localhost:9090'
将其内容改为:prometheus['listen_address'] = 'localhost:11002'

修改服务端口后,还需要将系统的这些端口进行开放:

# 开放端口11000 11001和11002 
/sbin/iptables -I INPUT -p tcp --dport 11000 -j ACCEPT  
/sbin/iptables -I INPUT -p tcp --dport 11001 -j ACCEPT  
/sbin/iptables -I INPUT -p tcp --dport 11002 -j ACCEPT  

2.2 修改邮件设置

应用默认使用postfix,在安装postfix后,再去设置其他的邮箱是没有效果的

2.2.1 使用postfix

执行vim /etc/gitlab/gitlab.rb进入到配置文件,找到关键字Email Settings修改下面的参数:

### Email Settings 
gitlab_rails['gitlab_email_enabled'] = true 
gitlab_rails['gitlab_email_from'] = 'gitlab@http://<服务器地址或域名>' 
gitlab_rails['gitlab_email_display_name'] = 'GitLab' 
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'

设置完成后,重配postfix,执行dpkg-reconfigure postfix 或者vi /etc/postfix/main.cf
postfix设置参考

2.2.2 使用其他SMTP邮箱

### Email Settings 
gitlab_rails['gitlab_email_enabled'] = true 
### GitLab email server settings 
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html 
###! **Use smtp instead of sendmail/postfix.** 
gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.example.com" 
gitlab_rails['smtp_port'] = 25 
gitlab_rails['smtp_user_name'] = "xxxx@example.com" 
gitlab_rails['smtp_password'] = "这里填授权密码" 
gitlab_rails['smtp_domain'] = "example.com" 
gitlab_rails['smtp_authentication'] = "login" 
gitlab_rails['smtp_enable_starttls_auto'] = true 
gitlab_rails['smtp_tls'] = true 
###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'** 
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html 
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' 
user['git_user_email'] = "xxxx@example.com" 
gitlab_rails['gitlab_email_from'] = "xxxx@example.com"

完成配置后可以测试下邮箱:

#进入控制台
gitlab-rails console
#发送测试邮件
Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

2.3 其他设置

2.3.1 解决GitLab头像无法正常显示

原因:gravatar被墙
解决办法:

vim /etc/gitlab/gitlab.rb
#gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon' 
#修改为: 
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon' 
#然后在命令行执行: 
gitlab-ctl reconfigure 
gitlab-rake cache:clear RAILS_ENV=production

2.3.2 解决EOFError: end of file reached

vim /etc/gitlab/gitlab.rb
gitlab_rails['smtp_tls']  = false
#修改为:
gitlab_rails['smtp_tls'] = true

以上gitlab配置内容参考文章:https://www.jianshu.com/p/dbb4543bdd8e

gitlab完成配置后,需要执行 gitlab-ctl reconfigure 命令使得配置生效

3. gitlab服务命令

3.1 Service Management Commands

这类命令来管理服务

command function
start 启动所有服务
stop 关闭所有服务
restart 重启所有服务
status 查看所有服务状态
tail 查看日志信息
service-list 列举所有启动服务
graceful-kill 平稳停止一个服务

举例:

#启动所有服务
[root@localhost gitlab]# gitlab-ctl start
#启动单独一个服务
[root@localhost gitlab]# gitlab-ctl start nginx
#查看日志,查看所有日志
[root@localhost gitlab]# gitlab-ctl tail
#查看具体一个服务的日志,类似tail -f
[root@localhost gitlab]# gitlab-ctl tail nginx

3.2 General Commands

全局命令

command function
help 帮助
reconfigure 修改配置文件之后,重新加载
show-config 查看所有服务配置文件信息
uninstall 卸载这个软件
cleanse 清空gitlab数据
service-list 列举所有启动服务
graceful-kill 平稳停止一个服务

举例:

#显示所有服务配置文件
[root@localhost gitlab]#gitlab-ctl show-config
#卸载gitlab
[root@localhost gitlab]#gitlab-ctl uninstall

3.3 DatabaseCommands

数据库命令

command function
pg-upgrade 更新postgresql版本
revert-pg-upgrade 还远先前的(离现在正在使用靠近的版本)一个数据库版本
show-config 查看所有服务配置文件信息
uninstall 卸载这个软件
cleanse 清空gitlab数据
service-list 列举所有启动服务
graceful-kill 平稳停止一个服务

举例:

#升级数据库
[root@localhost gitlab]# gitlab-ctl pg-upgrade
Checking for an omnibus managed postgresql: OK
Checking if we already upgraded: OK
The latest version 9.6.1 is already running,nothing to do
#降级数据库版本
[root@localhost gitlab]# gitlab-ctl revert-pg-upgrade

安装完成后,使用浏览器打开 http://服务器IP/域名:11000进入登陆界面

参考文章列表:
https://blog.csdn.net/wh211212/article/details/72627803

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,302评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,563评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,433评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,628评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,467评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,354评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,777评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,419评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,725评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,768评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,543评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,387评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,794评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,032评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,305评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,741评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,946评论 2 336

推荐阅读更多精彩内容