Gitlab安装
安装所需依赖
yum -y install openssh-server cronie git wget patch
关闭防火墙,关闭selinux
service iptables stop
setenforce 0
下载所需rpm包
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm
rpm -ivh gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm</pre>
初始化gitlab(时间较长)
gitlab-ctl reconfigure
查看服务
$ gitlab-ctl status
run: gitaly: (pid 30717) 1939s; run: log: (pid 5826) 4412s
run: gitlab-monitor: (pid 30727) 1938s; run: log: (pid 6244) 4376s
run: gitlab-workhorse: (pid 30738) 1939s; run: log: (pid 5843) 4411s
run: logrotate: (pid 30755) 1938s; run: log: (pid 5906) 4403s
run: nginx: (pid 30769) 1938s; run: log: (pid 5879) 4405s
run: node-exporter: (pid 30775) 1937s; run: log: (pid 6039) 4391s
run: postgres-exporter: (pid 30780) 1937s; run: log: (pid 6191) 4379s
run: postgresql: (pid 30810) 1936s; run: log: (pid 5578) 4462s
down: prometheus: 0s, normally up, want up; run: log: (pid 5948) 4397s
run: redis: (pid 30830) 1936s; run: log: (pid 5486) 4473s
run: redis-exporter: (pid 30835) 1935s; run: log: (pid 6097) 4385s
run: sidekiq: (pid 30855) 1934s; run: log: (pid 5803) 4419s
run: unicorn: (pid 30880) 1933s; run: log: (pid 5770) 4421s
重启、停止或启动服务
$ gitlab-ctl restart/stop/start
配置文件目录
/etc/gitlab/gitlab.rb
安装完成,可以通过浏览器访问IP测试(如访问不了,请检查iptables、selinux)
默认端口为80端口,由于80端口正在使用,我需要修改为其他端口
gitlab.rb 修改
配置文件在/opt/gitlab/etc/gitlab.rb
。这个文件用于gitlab如何调用80和8080的服务等。
## Advanced settings
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082
nginx['listen_addresses'] = ['*']
nginx['listen_port'] = 82 # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
gitlab-rails 修改
配置文件 /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
# What ports/sockets to listen on, and what options for them.
#listen "127.0.0.1:8080", :tcp_nopush => true
listen "127.0.0.1:8082", :tcp_nopush => true
listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024
gitlab nginx 修改
配置文件/var/opt/gitlab/nginx/conf/gitlab-http.conf
。这个文件是gitlab内置的nginx的配置文件,里面可以影响到nginx真实监听端口号。
server {
listen *:82;
server_name gitlab.123.123.cn;
server_tokens off; ## Don't show the nginx version number, a security best practice
修改完成后,重启下,就可以放82端口的gitlab了。
$ gitlab-ctl restart
首次访问Gitlab需要设置管理员密码,设置成功后会返回登录页面,默认管理员帐号是root,如果想更改默认管理员帐号,需要进入系统后修改帐号名
新建项目(提示ssh-key为配置)
在服务器端生成
id_rsa.pub
$ ssh-keygen -t rsa 一路回车
$ cat /root/.ssh/id_rsa.pub 将密钥复制到gitlab中
复制项目路径
客户端操作
$ git clone git@XXX.git //这里是项目的地址(可从项目主页复制),将远程服务器的内容完全复制过来
$ cd BGBInspector_V01 //clone 之后进入该项目的文件夹
$ touch README.md //新建readme文件
$ git add README.md //将新的文件添加到git的暂存区
$ git commit-m ‘Its note:add a readme file’ // 将暂存区的文件提交到某一个版本保存下来,并加上注释
$ git push -u origin master //将本地的更改提交到远程服务器
几个常用的git 命令
git init //初始化
git add main.cpp //将某一个文件添加到暂存区
git add . //将文件夹下的所有的文件添加到暂存区
git commit -m ‘note’ //将暂存区中的文件保存成为某一个版本
git log //查看所有的版本日志
git status //查看现在暂存区的状况
git diff //查看现在文件与上一个提交-commit版本的区别
git reset --hard HEAD^ //回到上一个版本
git reset --hard XXXXX //XXX为版本编号,回到某一个版本
git pull origin master //从主分支pull到本地
git push -u origin master //从本地push到主分支
git pull //pull默认主分支
git push //push默认主分支
创建dev分支,然后切换到dev分支:
git checkout -b dev
查看当前分支
git branch
* dev
master