本文共 6794 字,大约阅读时间需要 22 分钟。
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的本地安装基本也就完成了