Skip to content

Commit b6973a0

Browse files
committed
2019-06-23
1 parent cd315c6 commit b6973a0

File tree

1 file changed

+80
-27
lines changed

1 file changed

+80
-27
lines changed

markdown-file/Gitlab-Install-And-Settings.md

Lines changed: 80 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -51,48 +51,38 @@ gitlab-postgresql:
5151
- 本质就是把文件、缓存、数据库抽离出来,然后部署多个 Gitlab 用 nginx 前面做负载。
5252

5353

54-
## 原始安装方式
54+
## 原始安装方式(推荐)
5555

56-
- 环境:
57-
- CPU:1 core
58-
- 内存:2G
59-
- 我习惯使用 root 用户
56+
- 推荐至少内存 4G,它有大量组件
6057
- 有开源版本和收费版本,各版本比较:<https://about.gitlab.com/products/>
6158
- 官网:<https://about.gitlab.com/>
6259
- 中文网:<https://www.gitlab.com.cn/>
6360
- 官网下载:<https://about.gitlab.com/downloads/>
64-
- 安装的系统环境要求:<https://docs.gitlab.com/ce/install/requirements.html>
65-
- 从文章看目前要求 ruby 2.3,用 yum 版本过低,那就源码安装 ruby 吧,官网当前最新是:2.4.1(大小:14M)
6661
- 官网安装说明:<https://about.gitlab.com/installation/#centos-7>
67-
- 安装 ruby
68-
- 下载:<https://www.ruby-lang.org/en/downloads/>
69-
- 解压:`tar zxvf ruby-2.4.1.tar.gz`
70-
- 编译安装:
71-
- `cd ruby-2.4.1`
72-
- `./configure`
73-
- `make`,过程有点慢
74-
- `make install`
75-
- 默认安装到这个目录:`/usr/local`
76-
- 查看当前版本号:`ruby -v`
77-
- CentOS 6 安装流程:<https://about.gitlab.com/downloads/#centos6>
78-
- 当前(201703)的版本是:`GitLab Community Edition 9.0.0`
79-
- `sudo yum install -y curl openssh-server openssh-clients postfix cronie`
80-
- `sudo service postfix start`
81-
- `sudo chkconfig postfix on`
82-
- `sudo lokkit -s http -s ssh`
83-
- `curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash`
84-
- `sudo yum install gitlab-ce`,软件大小:272M,下载速度不稳定
85-
- `sudo gitlab-ctl reconfigure`,这个过程比较慢
8662
- 如果上面的下载比较慢,也有国内的镜像:
8763
- 清华:<https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/>
64+
- 参考:<https://ken.io/note/centos7-gitlab-install-tutorial>
65+
66+
```
67+
sudo yum install -y curl policycoreutils-python openssh-server
68+
69+
sudo systemctl enable sshd
70+
sudo systemctl start sshd
71+
72+
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
73+
sudo EXTERNAL_URL="http://192.168.1.123:8181" yum install -y gitlab-ce
74+
```
8875

8976

9077
## 配置
9178

9279
- 配置域名 / IP
9380
- 编辑配置文件:`sudo vim /etc/gitlab/gitlab.rb`
9481
- 找到 13 行左右:`external_url 'http://gitlab.example.com'`,改为你的域名 / IP
95-
- 重启服务:`sudo gitlab-ctl reconfigure`
82+
- 刷新配置:`sudo gitlab-ctl reconfigure`,第一次这个时间会比较久,我花了好几分钟
83+
- 启动服务:`sudo gitlab-ctl start`
84+
- 停止服务:`sudo gitlab-ctl stop`
85+
- 重启服务:`sudo gitlab-ctl restart`
9686
- 前面的初始化配置完成之后,访问当前机子 IP:`http://192.168.1.111:80`
9787
- 默认用户是 `root`,并且没有密码,所以第一次访问是让你设置你的 root 密码,我设置为:gitlab123456(至少 8 位数)
9888
- 设置会初始化密码之后,你就需要登录了。输入设置的密码。
@@ -234,6 +224,69 @@ gitlab-postgresql:
234224
- <http://www.cnblogs.com/cnblogsfans/p/5075073.html>
235225

236226

227+
## 接入第三方登录
228+
229+
- 官网文档:
230+
- <https://docs.gitlab.com/ce/integration/omniauth.html>
231+
- <https://docs.gitlab.com/ce/integration/oauth2_generic.html>
232+
- <https://gitlab.com/satorix/omniauth-oauth2-generic#gitlab-config-example>
233+
234+
- gitlab 自己本身维护一套用户系统,第三方认证服务一套用户系统,gitlab 可以将两者关联起来,然后用户可以选择其中一种方式进行登录而已。
235+
- 所以,gitlab 第三方认证只能用于网页登录,clone 时仍然使用用户在 gitlab 的账户密码,推荐使用 ssh-key 来操作仓库,不再使用账户密码。
236+
- 重要参数:block_auto_created_users=true 的时候则自动注册的账户是被锁定的,需要管理员账户手动的为这些账户解锁,可以改为 false
237+
- 编辑配置文件引入第三方:`sudo vim /etc/gitlab/gitlab.rb`,在 309 行有默认的一些注释配置
238+
- 其中 oauth2_generic 模块默认是没有,需要自己 gem,其他主流的那些都自带,配置即可使用。
239+
240+
```
241+
gitlab_rails['omniauth_enabled'] = true
242+
gitlab_rails['omniauth_allow_single_sign_on'] = ['google_oauth2', 'facebook', 'twitter', 'oauth2_generic']
243+
gitlab_rails['omniauth_block_auto_created_users'] = false
244+
gitlab_rails['omniauth_sync_profile_attributes'] = ['email','username']
245+
gitlab_rails['omniauth_external_providers'] = ['google_oauth2', 'facebook', 'twitter', 'oauth2_generic']
246+
gitlab_rails['omniauth_providers'] = [
247+
{
248+
"name"=> "google_oauth2",
249+
"label"=> "Google",
250+
"app_id"=> "123456",
251+
"app_secret"=> "123456",
252+
"args"=> {
253+
"access_type"=> 'offline',
254+
"approval_prompt"=> '123456'
255+
}
256+
},
257+
{
258+
"name"=> "facebook",
259+
"label"=> "facebook",
260+
"app_id"=> "123456",
261+
"app_secret"=> "123456"
262+
},
263+
{
264+
"name"=> "twitter",
265+
"label"=> "twitter",
266+
"app_id"=> "123456",
267+
"app_secret"=> "123456"
268+
},
269+
{
270+
"name" => "oauth2_generic",
271+
"app_id" => "123456",
272+
"app_secret" => "123456",
273+
"args" => {
274+
client_options: {
275+
"site" => "http://sso.cdk8s.com:9090/sso",
276+
"user_info_url" => "/oauth/userinfo"
277+
},
278+
user_response_structure: {
279+
root_path: ["user_attribute"],
280+
attributes: {
281+
"nickname": "username"
282+
}
283+
}
284+
}
285+
}
286+
]
287+
288+
```
289+
237290
238291
## 资料
239292

0 commit comments

Comments
 (0)