gitlab 部署

参考文档

【使用外部nginx】https://www.centos.bz/2017/07/centos7-gitlab-nginx/
【使用外部数据库】https://blog.csdn.net/yelllowcong/article/details/79940846
【{非docker}部署gitlab】https://www.cnblogs.com/wenwei-blog/p/5861450.html

安装依赖
sudo yum -y install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd #设置开机启动
sudo systemctl start sshd #启动服务
sudo yum -y install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

安装方式一:
添加gitlab源
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安装gitlab-ce
sudo yum -y install gitlab-ce
安装方式二:
centos7 安装包列表https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
下载gitlab安装包,安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.7.5-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.7.5-ce.0.el7.x86_64.rpm

配置文件: /etc/gitlab/gitlab.rb
配置gitlab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
访问 服务器ip 注意防火墙
首次访问会让你填写root 账号 密码

测试发送邮件:
gitlab控制台: gitlab-rails console
Notify.test_email(1484448225@qq.com"">'1484448225@qq.com‘,’ttt’,’adda’).deliver_now
每次修改配置需重新进入控制台

【gitlab smtp 相关配置】 https://docs.gitlab.com.cn/omnibus/settings/smtp.html
eg:
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.qq.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_user_name’] = “1239178614@qq.com
gitlab_rails[‘smtp_password’] = “授权码”
gitlab_rails[‘smtp_domain’] = “smtp.qq.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘gitlab_email_from’] = “1239178614@qq.com

配置使用外部nginx:
停止gitlab自带的nginx,修改域名
修改配置文件/etc/gitlab/gitlab.rb 将nginx[‘enable’] = ture改为nginx[‘enable’] = false,external_url参数修改为自己的域名
添加外部nginx的gitlab配置文件:
vi /etc/nginx/conf.d/gitlab.conf
添加以下内容:

如果出现 gitlab.socket failed (13: Permission denied) 请对应修改文件权限或修改配置添加额外授权用户 因为外部的nginx运行的权限组信息不同;

配置使用外部数据库
1、创建数据库

#设定可以增加触发器和存储过程,在新版本的gitlab中,需要设定。
SET GLOBAL log_bin_trust_function_creators=1;

#创建数据库
create database gitlab DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

#添加权限
GRANT ALL PRIVILEGES ON gitlab.*TO ‘gitlab‘@’%’ IDENTIFIED BY ‘gitlab’ WITH GRANT OPTION;

#刷新权限
flush privileges;

2添加mysql 配置

#修改数据库配置
gitlab_rails[‘db_adapter’] = “mysql2”
gitlab_rails[‘db_encoding’] = “utf8”
gitlab_rails[‘db_database’] = “gitlab”
gitlab_rails[‘db_username’] = “gitlab”
gitlab_rails[‘db_password’] = “gitlab”
gitlab_rails[‘db_host’] = “127.0.0.1”
gitlab_rails[‘db_port’] = 3306
postgresql[‘enable’] = false

3.1去掉postgres 依赖

#缺少 mysql2,用ruby的gem工具下载一个,在下载之前,得先配置下ruby的gem与bundle

#编辑config
vim /opt/gitlab/embedded/service/gitlab-rails/.bundle/config

#通过sed来搞替换你操作
sed -i s#mysql#postgers#g /opt/gitlab/embedded/service/gitlab-rails/.bundle/config

#更改完事后,重新配置一下
gitlab-ctl reconfigure

3.2安装MySQL 依赖
安装依赖,需要指定版本,可以先安装后,在执行gitlab-rake gitlab:check查看安装的版本

gitlab几乎所有的命令都在此目录下

cd /opt/gitlab/embedded/bin/

##安装mysql
./gem install mysql2

#删除mysql
./gem uninstall mysql2

#安装指定版本
./gem install mysql2 -v “0.3.20”
./gem install mysql2 -v “0.4.10”

#查看版本
./gem list | grep mysql

4 检查配置 #查看配置是否ok,如果数据库ok了 可以直接执行gitlab-rake gitlab:setup,来创建数据库的表。
gitlab-rake gitlab:check
5 初始化gitlab 执行gitlab-rake gitlab:setup命令,来初始化gitlab.
6 重启服务

#####后面几个gitlab-ctl 常用命令,这次配置用不到

#配置服务
gitlab-ctl reconfigure;

#重启服务
gitlab-ctl restart;

#查看启动情况
gitlab-ctl tail

posted @ 2019-05-30 11:06  陈俊武  阅读(225)  评论(0编辑  收藏  举报