1)操作步骤(基本参照官方文档https://about.gitlab.com/downloads/#centos7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
[root@localhost ~] # sudo yum install curl policycoreutils openssh-server openssh-client
s -y [root@localhost ~] # sudo systemctl enable sshd
[root@localhost ~] # sudo systemctl start sshd
[root@localhost ~] # sudo yum install postfix
[root@localhost ~] # sudo systemctl enable postfix
[root@localhost ~] # sudo systemctl start postfix
[root@localhost ~] # sudo firewall-cmd --permanent --add-service=http
success [root@localhost ~] # sudo systemctl reload firewalld
[root@localhost ~] # curl -sS https://packages.gitlab.com/install/repositories/gitlab/gi
tlab-ce /script .rpm.sh | sudo bash
[root@localhost ~] # sudo yum install gitlab-ce
[root@localhost ~] # gitlab-ctl status
run: gitlab-workhorse: (pid 15903) 159s; run: log: (pid 15726) 198s run: logrotate: (pid 15822) 186s; run: log: (pid 15821) 186s run: nginx: (pid 15774) 192s; run: log: (pid 15773) 192s run: postgresql: (pid 15435) 327s; run: log: (pid 15434) 327s run: redis: (pid 15298) 339s; run: log: (pid 15297) 339s run: sidekiq: (pid 15681) 204s; run: log: (pid 15680) 204s run: unicorn: (pid 15625) 210s; run: log: (pid 15624) 210s [root@localhost ~] # gitlab-ctl --help
Usage: omnibus-ctl [options] -t, --tmp- dir =DIR Storage location for temporary data
[root@localhost ~] # gitlab-ctl restart
ok: run: gitlab-workhorse: (pid 16146) 0s ok: run: logrotate: (pid 16156) 0s ok: run: nginx: (pid 16162) 1s ok: run: postgresql: (pid 16173) 0s ok: run: redis: (pid 16175) 1s ok: run: sidekiq: (pid 16187) 0s ok: run: unicorn: (pid 16193) 0s [root@localhost ~] # gitlab-ctl tail nginx
==> /var/log/gitlab/nginx/current <==
==> /var/log/gitlab/nginx/error .log <==
==> /var/log/gitlab/nginx/gitlab_access .log <==
ri /537 .36"
.2743.116 Safari /537 .36"
ppleWebKit /537 .36 (KHTML, like Gecko) Chrome /52 .0.2743.116 Safari /537 .36"
537.36" 37.36" .0; WOW64) AppleWebKit /537 .36 (KHTML, like Gecko) Chrome /52 .0.2743.116 Safari /537 .36"
like Gecko) Chrome /52 .0.2743.116 Safari /537 .36"
, like Gecko) Chrome /52 .0.2743.116 Safari /537 .36"
" ==> /var/log/gitlab/nginx/gitlab_error .log <==
==> /var/log/gitlab/nginx/access .log <==
5: in ` tail ': Interrupt
s-ctl.rb:575: in `run'
s-ctl:31: in `< top (required)>'
from /opt/gitlab/embedded/bin/omnibus-ctl :22: in `load'
from /opt/gitlab/embedded/bin/omnibus-ctl :22: in `<main>'
[root@localhost ~] # cd /opt
[root@localhost opt] # ls
gitlab rh [root@localhost opt] # cd gitlab/
[root@localhost gitlab] # ls
bin etc LICENSE service var version-manifest.txt embedded init LICENSES sv version-manifest.json [root@localhost gitlab] # cd etc/
[root@localhost etc] # ll
总用量 52 -rw-r--r--. 1 root root 80 11月 28 13:42 gitlab-psql-rc drwx------. 3 git root 38 11月 28 13:40 gitlab-rails -rw-r--r--. 1 root root 47471 11月 23 02:51 gitlab.rb.template drwx------. 3 git root 16 11月 28 13:44 gitlab-workhorse [root@localhost etc] # cp gitlab.rb.template gitlab.rb.template.20161128
部署完后,查看gitlab的状态: [root@localhost code] # gitlab-ctl status
run: gitlab-workhorse: (pid 845) 20880s; run: log: (pid 843) 20880s run: logrotate: (pid 28207) 2879s; run: log: (pid 849) 20880s run: nginx: (pid 847) 20880s; run: log: (pid 846) 20880s run: postgresql: (pid 854) 20880s; run: log: (pid 853) 20880s run: redis: (pid 852) 20880s; run: log: (pid 851) 20880s run: sidekiq: (pid 856) 20880s; run: log: (pid 855) 20880s run: unicorn: (pid 842) 20880s; run: log: (pid 841) 20880s 如上我们可以看到,部署涉及到的软件比较多,建议用一个比较干净的系统来进行部署 |
2) 查看初始化界面
如上图所示,我们需要配置我们的初始密码
配置完后,我们使用用户名root,以及已经设定的密码进行登录
3)在gitlab中添加公开密钥,这样就可以用私有密钥进行认证了
1
2
3
4
5
6
7
8
|
[root@localhost code] # ssh-keygen -t rsa
Generating public /private rsa key pair.
Enter file in which to save the key ( /root/ . ssh /id_rsa ):
/root/ . ssh /id_rsa already exists.
Overwrite (y /n )?
[root@localhost code] # cd /root/.ssh/
[root@localhost . ssh ] # cat id_rsa.pub
ssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgA /RQdMLqmR3TxZdoMJoSr0fZYZaynK0ueaN0fRzEPn87AH7qV6X3dCc18BCxOtsD +o8qfdp8zVYfYbxdL+P1r53Qq278BLXov+ATWCl++Ly62oLYuGTZAAdm /cBYGTTxyqLp83wLutvbmsf3vlD3owbmZyfV/UEjon +j /T6ZVMC2JYcYHDu17HwlsXHZpOpm3g1FimmzMlaf12Hd76bPfC1blE6gcEKMJVJ6qTzK4ksL2DwqaaLpTnw/hLBA0QGM4 +s74Q5WoyTSVMqoz+1H3NaXJYquRm5xFf+fZX8sg7SkYJX /7AfkxvuwzYPW +pPzpNtW1KikUgq9aq+rgMt/ root@localhost.localdomain
|
将id_ras.pub的内容拷贝到指定的区域,并做好保存:
1
2
3
4
5
6
7
8
9
10
|
为git配置好颜色: [root@localhost code] # git config --global color.ui true
[root@localhost code] # git config --list
user.name=Administrator user.email=admin@example.com color.ui= true
core.repositoryformatversion=0 core.filemode= true
core.bare= false
core.logallrefupdates= true
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[root@localhost code] # git clone git@localhost:root/cslc.git
Cloning into 'cslc' ...
warning: You appear to have cloned an empty repository. [root@localhost code] # ls
cslc freemind-mmx [root@localhost code] # cd cslc
[root@localhost cslc] # cp /etc/passwd .
[root@localhost cslc] # git add passwd
[root@localhost cslc] # git commit -m "add passwd"
[master (root-commit) 8c26f36] add passwd
1 file changed, 43 insertions(+)
create mode 100644 passwd
[root@localhost cslc] # ll -la
total 8 drwxr-xr-x. 3 root root 30 Nov 29 16:41 . drwxr-xr-x. 5 root root 47 Nov 29 16:40 .. drwxr-xr-x. 8 root root 4096 Nov 29 16:41 .git -rw-r--r--. 1 root root 2213 Nov 29 16:41 passwd
[root@localhost cslc] # git push -u origin master
Counting objects: 3, done .
Delta compression using up to 4 threads. Compressing objects: 100% (2 /2 ), done .
Writing objects: 100% (3 /3 ), 1.04 KiB | 0 bytes /s , done .
Total 3 (delta 0), reused 0 (delta 0) To git@localhost:root /cslc .git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
|
4)添加一个README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@localhost cslc] # echo "欢迎来到中体彩武汉的gitlab站">>README.MD
[root@localhost cslc] # ls
README.md passwd
[root@localhost cslc] # git add README.md
[root@localhost cslc] # git commit -m "add README"
[master fbe1bfb] add README 1 file changed, 1 insertion(+)
create mode 100644 README.md
[root@localhost cslc] # git push -u origin master
Counting objects: 4, done .
Delta compression using up to 4 threads. Compressing objects: 100% (2 /2 ), done .
Writing objects: 100% (3 /3 ), 320 bytes | 0 bytes /s , done .
Total 3 (delta 0), reused 0 (delta 0) To git@localhost:root /cslc .git
8c26f36..fbe1bfb master -> master
Branch master set up to track remote branch master from origin.
|
到此,gitlab的本地安装基本也就完成了
本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1877804,如需转载请自行联系原作者