gitlab机器环境搭建私有仓库和客户端提交代码到gitlab和从gitlab下载代码(cent6.5+gitlab10.1.4)
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,如下:

更多推荐




所有评论(0)