笔者,最近接了一个新的项目,感觉没什么事,就自己搭建了一个gitlab-ce-zh的服务器,现在就分享一下,笔者也是初学者linux系统,对于命令大部分都是度娘告诉我的,所以有什么遗漏或者不详细的地方希望大家指出。废话不多说,直接上干货。
首先你要有Linux系统(不要问我为什么不用win),并且要成功启动和连接网络(后期下载插件的),如果你启动没发连接网络,可以看百度http://jingyan.baidu.com/article/456c463b64a23c0a59314472.html。(Mac不会设置,可以留言问我)
linux系统为CentOS 7.x
切换的命令行进行操作
使用root管理员用户操作
su root
(输入你设置的密码就可以切换用户了)
先换源(不过对于安装这个没什么用因为笔者使用官网下载安装的。)
友情提示:非教育用户千万不要使用高校的静态源,不然你只能修改源地址(例如:清华大学的镜像源地址)———笔者已泪奔。
在CentOS 7下更改yum源与更新系统。
1.首先备份/etc/yum.repos.d/CentOS-Base.repo
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2 进入yum源配置文件所在文件夹
cd /etc/yum.repos.d/
3 下载163的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份)
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
阿里的源( http://mirrors.aliyun.com/repo/Centos-7.repo )
4运行yum makecache生成缓存
yum makecache
5更新系统(时间比较久,主要看个人网速)
yum -y update
6安装vim编辑器
yum -y install vim*
如果运行错误请切换到 /etc/yum.repos.d/文件夹将之前的配置文件名称,更改为CentOS-Base.repo。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
笔者比较习惯使用原生的这个是官网安装的方法https://about.gitlab.com/installation/#centos-7(这里就是将官网上的英文方法变成中文大家就多多包涵)
1首先安装和配置必要的依赖
在CentOS的,下面的命令将在系统防火墙打开HTTP和SSH访问。
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
下一步,安装postfix发送通知邮件。
如果你想使用另一个解决方案来发送电子邮件,请跳过这一步,配置外部SMTP服务器后gitlab已安装。
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
2.添加gitlab包库安装包
添加gitlab封装库。(添加rpm安装包也可以在https://packages.gitlab.com/gitlab/gitlab-ce这里找到你自己想要的版本,我这里是用的8.8.5版)
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
下一步,安装gitlab包。
sudo yum install gitlab-ce-8.8.5-ce.1.el7.x86_64
3.配置并启动gitlab
启动命令
sudo gitlab-ctl reconfigure
下边就可以访问了:
重置下密码后登录进去效果如下:
注意事项以及异常故障排查:
1,按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化(汉化请参考后边的教程)。
2,默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。
3,gitlab本身采用80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。
修改vim /etc/gitlab/gitlab.rb:
external_url 'http://localhost:8090'
4,这里可以绑定自己的gitlab的域名或者公网、内网IP替换localhost进行公网访问,具体根据自己的实际情况。安全起见,一般会将gitlab部署于内网。具体部署到哪里,请根据自己的实际情况来定。(基于安全原因,这里不建议设置公网IP进行暴露,可以通过nginx设置IP绑定进行return或者其他规则进行IP回避访问。)
因为笔者使用虚拟机部署的,又是自己练手配置,所以这里就配置的自己虚拟机的ip
5,unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:
修改 /etc/gitlab/gitlab.rb:
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 3000
5,每次重新配置,都需要执行sudo gitlab-ctl reconfigure 使之生效。
6,日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志
4.gitlab中文汉化
【如不清楚gitlab版本以及git,请不要操作,否则gitlab瘫痪!建议运维人员或者对gitlab比较熟悉的人操作】
1,下载补丁。这个没有采用larryli的,而是另外一个安装包。larrili测试在centos7有报错。
git clone https://git.oschina.net/qiai365/gitlab-L-zh.git
2.切换分支。这里centos7测试的是8.5.4低版本,需要进行切换。
cd gitlab-L-zh
git checkout -b 8-5-zh origin/8-5-zh
cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}
3.汉化操作
首先停止gitlab:
gitlab-ctl stop
汉化操作:
yes|cp -rf ../gitlab-L-zh/* /opt/gitlab/embedded/service/gitlab-rails/
4.启动,查看效果
gitlab-ctl start
5.日常管理
gitlab-ctl start|stop|status|restart
比如查看状态:
#gitlab-ctl status
run: gitlab-workhorse: (pid 19922) 665s; run: log: (pid 19159) 725s
run: logrotate: (pid 19179) 723s; run: log: (pid 19178) 723s
run: nginx: (pid 19166) 724s; run: log: (pid 19165) 724s
run: postgresql: (pid 19026) 760s; run: log: (pid 19025) 760s
run: redis: (pid 18943) 766s; run: log: (pid 18942) 766s
run: sidekiq: (pid 19149) 732s; run: log: (pid 19148) 732s
run: unicorn: (pid 20257) 642s; run: log: (pid 19116) 734s