gitlab机器环境搭建私有仓库和客户端提交代码到gitlab和从gitlab下载代码(cent6.5+gitlab10.1.4) 

1.gitlab环境搭建私有仓库和客户端和gitlab远程私有仓库之间的推送和下载

1)192.168.224.128机器上:gitlab机器搭建gitlab服务并建立私有仓库(自带web服务,nginx代理,redis等服务)

[root@bogon ~]# /etc/init.d/iptables stop

[root@bogon ~]# chkconfig iptables off

[root@bogon ~]# setenforce 0

[root@bogon ~]# yum -y install lokkit

[root@bogon ~]# yum install curl openssh-server openssh-clients postfix cronie -y

[root@bogon ~]# /etc/init.d/postfix start

[root@bogon ~]# chkconfig postfix on

[root@bogon ~]# lokkit -s http -s ssh   #下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问

[root@bogon ~]# yum install -y lrzsz vim git patch  #安装常用工具

[root@bogon ~]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python

[root@bogon ~]# rz 上传gitlab10.1.4包

[root@bogon ~]# ls

gitlab-ce-10.1.4-ce.0.el6.x86_64.rpm

[root@bogon ~]# rpm -ivh gitlab-ce-10.1.4-ce.0.el6.x86_64.rpm

[root@bogon ~]# netstat -anput |grep 80   无端口,还没启动服务

[root@bogon ~]# netstat -anput |grep 8080  无端口,还没启动服务

[root@bogon ~]# ps -ef |grep redis     无redis服务

[root@bogon ~]# vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.224.128' #修改成自己服务器的ip或者能解析的域名,建立仓库时会以该地址形成链接下载地址

#注意上面的url默认端口是:80,也可修改端口,如:external_url 'http://192.168.224.128:8888'

配置与启动GitLab 
执行下面的命令即可 #gitlab-ctl reconfigure 

[root@bogon ~]# gitlab-ctl reconfigure #配置和启动服务(第一次启动服务需用命令)

出现下图表示配置和启动成功:

[root@bogon ~]# gitlab-ctl status

run: gitaly: (pid 3994) 3901s; run: log: (pid 3355) 3989s

run: gitlab-monitor: (pid 4021) 3900s; run: log: (pid 3702) 3944s

run: gitlab-workhorse: (pid 4009) 3901s; run: log: (pid 3461) 3978s

run: logrotate: (pid 10967) 361s; run: log: (pid 3579) 3961s

run: nginx: (pid 3530) 3967s; run: log: (pid 3529) 3967s

run: node-exporter: (pid 3655) 3950s; run: log: (pid 3654) 3950s

run: postgres-exporter: (pid 4041) 3899s; run: log: (pid 3890) 3926s

run: postgresql: (pid 3027) 4058s; run: log: (pid 3026) 4058s

run: prometheus: (pid 4032) 3900s; run: log: (pid 3793) 3932s

run: redis: (pid 2901) 4069s; run: log: (pid 2900) 4069s

run: redis-exporter: (pid 3745) 3938s; run: log: (pid 3744) 3938s

run: sidekiq: (pid 3297) 4000s; run: log: (pid 3296) 4000s

run: unicorn: (pid 3233) 4007s; run: log: (pid 3232) 4007s

服务启动成功后,会启动两个端口80和8080,redis也会有自己端口,但是随机的

[root@bogon ~]# netstat -anput |grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      3774/nginx          

tcp        0      0 0.0.0.0:8060                0.0.0.0:*                   LISTEN      3774/nginx          

[root@bogon ~]# netstat -anput |grep 8080

tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      3503/unicorn master

tcp        0      0 127.0.0.1:8080              127.0.0.1:36411             TIME_WAIT   -                   

[root@bogon ~]# netstat -anput |grep redis

tcp        0      0 127.0.0.1:9121              0.0.0.0:*                   LISTEN      3989/redis_exporter

[root@bogon ~]# ps -ef |grep unicorn

有进程

[root@bogon ~]# ps -ef |grep nginx

有进程

[root@bogon ~]# ps -ef |grep redis

有进程

#注意:第一次启动服务需用命令:gitlab-ctl reconfigure配置和启动服务,此后,可以用命令:gitlab-ctl status查看状态,gitlab-ctl stop停止服务,gitlab-ctl start启动服务等操作。(且自动会启动两个端口80和8080端口,自动从自身nginx代理到后面8080端口服务,gitlab服务配置启动后,会自带启动一些服务,内置nginx服务和unicorn服务(web服务)和redis服务,若gitlab-ctl stop后,gitlb服务和自带的服务也就跟着停止了,当再gitlab-ctl start后,自带的服务也跟着起来)

客户端访问:http://192.168.224.128  回车后跳转到下面页面:

重置管理员用户密码:1234567890(不能短于8位),默认管理员是root

root管理员密码重置成功后,使用root/1234567890管理员登录,如下:

下面就可以创建仓库了,如下:

 点击create project,如下:

 两个地址区别:

http://192.168.224.128/root/test.git   #使用用户密码root/1234567890推送和clone的地址

git@192.168.224.128:root/test.git      #在gitlab仓库中部署客户端机器的公钥时,可在客户端无需密码clone,但推送时候一般还是使用用户名和密码方式

使用密码时候推送到远程仓库和从远程仓库下载到本地:

推送到远程仓库:      #git push http://root@192.168.224.128/root/test.git master           #root是用户名

从远程仓库下载到本地:#git clone -b master http://root@192.168.224.128/root/test.git       #root是用户名

 

2)192.168.224.129机器上:客户端机器安装git并提交代码到上面新建的远程私有仓库中(用用户名和密码)

在客户端机器上安装git,并提交代码到上面新建的远程私有仓库中

[root@bogon ~]# yum -y install git

[root@bogon ~]# git config --global user.name shi                  #你是谁

[root@bogon ~]# git config --global user.email 1441107787@qq.com   #怎么联系到你

[root@bogon ~]# mkdir /test                         #建立一个空目录

[root@bogon ~]# cd /test/

[root@bogon test]# git init                         #将空目录初始化仓库

Initialized empty Git repository in /test/.git/     #将空目录初始化成本地仓库

[root@bogon test]# ls -a

.  ..  .git

在上面初始化的仓库test中进行开发代码,提交到本地仓库并推送到远程gitlab机器仓库,如下:(使用用户名和密码推送到远程仓库)

进入初始化的仓库文件夹,在里面创建开发文件即可。或者利用软件工具开发代码,将开发文件保存到该本地仓库目录中即可。此处将codingcoding测试环境story-java代码上传到本地test仓库中,如下:

[root@bogon test]# ls

hotread03-story-java-develop.zip

[root@bogon test]# unzip hotread03-story-java-develop.zip

[root@bogon test]# ls

hotread03-story-java-develop.zip  story-java-develop

[root@bogon test]# ls story-java-develop/

README.md  story-app   story-core   story-output  story-share  story-wap       story-web

story-api  story-back  story-event  story-push    story-task   story-wap-girl

[root@bogon test]# git status

[root@bogon test]# git add .

[root@bogon test]# git status

[root@bogon test]# git commit -m"tijiao code dao test cangku"  #将文件从暂存区提交到本地的版本库

[root@bogon test]# git status

[root@bogon test]# git push http://root@192.168.224.128/root/test.git master   #root是用户名,推送到远程仓库

Password: #输入root用户密码:1234567890

Counting objects: 2978, done.

Compressing objects: 100% (2868/2868), done.

Writing objects: 100% (2978/2978), 34.13 MiB | 30.96 MiB/s, done.

Total 2978 (delta 662), reused 0 (delta 0)

remote: Resolving deltas: 100% (662/662), done.

To http://root@192.168.224.128/root/test.git

 * [new branch]      master -> master

192.168.224.128机器上:gitlab机器:

推送成功后,到远程仓库查看(192.168.224.128机器上),如下:

 3)在gitlab仓库中部署客户端的公钥,可以使客户端无需密码即可将远程私有仓库代码下载到客户端本地(无需密码)

客户端机器:192.168.224.129,从远程gitlab仓库克隆到本地(没配公钥时候失败)

[root@bogon test]# mkdir /test2

[root@bogon test]# cd /test2

[root@bogon test2]# git clone -b master git@192.168.224.128:root/test.git  #用ssh地址克隆不下来(未配公钥)

[root@bogon test2]# ssh-keygen

[root@bogon test2]# ls /root/.ssh/

id_rsa  id_rsa.pub  known_hosts

[root@bogon test2]# cat /root/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0N81hGOwslK4y+x/XWGXTA4Du809Modgzpfdz1iithaZtMauD6V2hhL2TgM/s0Cme6A7fso52GFrzaVxyppb2CUMCxoEmXWblCoWkcGCJomZSudUPRIB6C3xopkhz2Ia2LgBcAeSjTiPKqmS8yGp9dASynm/ICEG90TvlQOZGEmfYN14Ug0HgemPlY2Ci7ULAq/nWgDfctK1XcD86w69f+FD5sTKiL4/R2iEZb+5+r8XpBR9L+2odqGKki0660/jSGcNUX+nxQHqdDaNa6bKfXSmIgGmFj+/8HOW+xP+SbdG7RuSEASaXxs+YKYu4VyoGNtPV9WwI8W/aZHcgXRpbw== root@bogon

将客户端机器的公钥粘贴在gitlab机器的配置公钥处,如下:

192.168.224.128机器上部署客户端的公钥:gitlab机器

 

 客户端机器:192.168.224.129,从远程gitlab仓库克隆到本地(配置公钥时候成功)

[root@bogon test]# cd /test2

[root@bogon test2]# ls

[root@bogon test2]# git clone -b master git@192.168.224.128:root/test.git  #用ssh地址能克隆下来(配置了公钥)

Initialized empty Git repository in /test2/test/.git/

reverse mapping checking getaddrinfo for bogon [192.168.224.128] failed - POSSIBLE BREAK-IN ATTEMPT!

remote: Counting objects: 2978, done.

remote: Compressing objects: 100% (2206/2206), done.

remote: Total 2978 (delta 662), reused 2978 (delta 662)

Receiving objects: 100% (2978/2978), 34.13 MiB | 25.95 MiB/s, done.

Resolving deltas: 100% (662/662), done.

[root@bogon test2]# ls

test

[root@bogon test2]# ls test/

hotread03-story-java-develop.zip  story-java-develop

[root@bogon test2]# ls test/story-java-develop/

README.md  story-app   story-core   story-output  story-share  story-wap       story-web

story-api  story-back  story-event  story-push    story-task   story-wap-girl

推送到远程仓库一般还是使用用户名和密码方式

使用密码时候推送到远程仓库和从远程仓库下载到本地:

推送到远程仓库:      #git push http://root@192.168.224.128/root/test.git master           #root是用户名

从远程仓库下载到本地:#git clone -b master http://root@192.168.224.128/root/test.git       #root是用户名

 2.gitlab上注册新用户   shi1/123456789

如下图,在下面注册位置填写相关信息:shi1/123456789,1441107787@qq.com

点击Register,即可登录成功(新版本的不用登陆邮箱,确认后才可登陆gitlab),可以创建自己的仓库等操作,如下: 

点击New project,如下:

 

 

更多推荐