先对本例centos7运行环境做一下简单的说明,
硬件:CPU 4核,内存 16G 阿里云服务器
软件:已安装nginx(gitlab内部包含nginx服务,安装的时候不影响,使用的时候需要对gitlab做相应的配置,后续会介绍),php。
配置yum源
新建/etc/yum.repos.d/tsinghua.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
缓存相关包
yum makecache
安装相关依赖
yum install curl policycoreutils-python openssh-server
安装gitlab-ce
yum install gitlab-ce
出现如下画面证明成功
配置
配置文件/etc/gitlab/gitlab.rb
修改
external_url 'http://gitlab.xxxxxx.com' #改域名,修改成你自己的域名,如果你用的https,改成https://gitlab.xxxxxx.com
unicorn['worker_processes'] = 2 #CPU使用核数,默认好像是24核,用不了那么多,改成2
gitlab_rails['time_zone'] = 'Asia/Shanghai' # 时间区域
#
#禁止gitlab内部nginx,这里我通过外部nginx(即系统原来已装好的nginx),如果你系统没有装nginx,这里不用改。
添加外部的nginx,
nginx['enable'] = false
web_server['external_users'] = ['www'] #www为我的nginx运行用户,这里修改为你自己的nginx的运行用户
改完执行
gitlab-ctl reconfigure
使配置重新加载
配置nginx
新建 /etc/nginx/conf.d/gitlab.conf
upstream gitlab-workhorse {
server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
server{
listen 80;
server_name gitlab.xxxxx.com; ## 修改成自己的域名;
rewrite ^(.*)$ https://$host$request_uri;
}
## Normal HTTP host
server {
listen 443 ssl;
ssl_certificate /data/ssl/new/xxxxx.com/cert.pem;
ssl_certificate_key /data/ssl/new/xxxxx.com/key.pem;
server_name gitlab.xxxxxx.com; ## 修改成自己的域名;
root /opt/gitlab/embedded/service/gitlab-rails/public;
## See app/controllers/application_controller.rb for headers set
## Individual nginx logs for this GitLab vhost
access_log /var/logs/nginx/gitlab_access.log; # 根据实际情况修改
error_log /var/logs/nginx/gitlab_error.log; # 根据实际情况修改
location ~ ^/(assets)/ {
gzip_static on; # to serve pre-gzipped version
expires max;
add_header Cache-Control public;
}
location / {
client_max_body_size 0;
gzip off;
## https://github.com/gitlabhq/gitlabhq/issues/694
## Some requests take more than 30 seconds.
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_http_version 1.1;
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-Forwarded-Proto $scheme;
proxy_pass http://gitlab-workhorse;
}
}
这里配置了https,你可根据实际情况修改。
改好后重新加载nginx配置
systemctl reload nginx
gitlab后台界面
访问 gitlab.xxxxxx.com,第一次进入后台,会提示修改root密码,修改后重新登录。
如果你的gitlab安装在docker,需要修改gitlab和nginx相关配置。
修改/etc/gitlab/gitlab.rb
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "172.18.1.17:8080" #docker的ip和端口,根据实际情况修改
修改 /etc/nginx/conf.d/gitlab.conf
将
upstream gitlab-workhorse {
server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
修改为
upstream gitlab-workhorse {
server localhost:8080; #根据实际情况修改
}
gitlab 相关操作命令
start 启动所有服务 这个重启也会继续开启 相当systemctl enable
stop 关闭所有服务
restart 重启所有服务
status 查看所有服务状态
tail 查看日志信息
service-list 列举所有启动服务
graceful-kill 平稳停止一个服务
help 帮助
reconfigure 修改配置文件之后,需要重新加载下
show-config 查看所有服务配置文件信息
uninstall 卸载这个软件
cleanse 删除gitlab数据,重新白手起家
gitlab 包含的服务
Restarting previously running GitLab services
ok: run: alertmanager: (pid 6798) 0s
ok: run: gitaly: (pid 13241) 147348s
ok: run: gitlab-monitor: (pid 6813) 1s
ok: run: gitlab-workhorse: (pid 6816) 0s
ok: run: logrotate: (pid 6825) 1s
ok: run: nginx: (pid 6831) 0s
ok: run: node-exporter: (pid 6833) 0s
ok: run: postgres-exporter: (pid 6839) 1s
ok: run: postgresql: (pid 12349) 147445s
ok: run: prometheus: (pid 6849) 0s
ok: run: redis: (pid 12289) 147452s
ok: run: redis-exporter: (pid 6866) 1s
ok: run: sidekiq: (pid 6874) 0s
ok: run: unicorn: (pid 6882) 1s