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