centos6.8安装 gitlab 9.3.5及使用
环境准备:
[root@caosm03 conf]# cat /etc/issue CentOS release 6.8 (Final) Kernel \r on an \m 注意:这个需要配置好主机名不然安装的时候会出现地址错误 [root@caosm03 caosm]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.24.130 caosm03.com
1.安装配置依赖项
[root@caosm03 ~]#yum install curl openssh-server openssh-clients postfix cronie -y [root@caosm03 ~]#service postfix start #GitLab使用postfix发送邮件 [root@caosm03 ~]#chkconfig postfix on #设置postfix开机自启动 [root@caosm03 ~]#lokkit -s http -s ssh #配置iptables开放http和ssh端口,这里需要注意,腾讯云安全组选择那里要选择开放所有端口 #这一步可能会显示Failed ip6tables start,这个不需要管,直接运行下面查看是否打开端口就可以了
输入命令查看是否打开http和ssh端口
[root@caosm03 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
2.下载RPM包,并上传到服务器 (我这里是选择的下载rpm包,也有其他的方式,就是下载他的安装脚本或者镜像等方式,如果不想用rpm安装,可以自行搜索其它方式,官网也都有说明)
国内镜像下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/ (Centos 6.8 64位)
打开后可以看到各个版本的rpm包,我是选择的 9.3.5版本,点击相应rpm包进行下载
复制下载地址链接 [root@caosm03 ~]#wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.3.5-ce.0.el6.x86_64.rpm [root@caosm03 ~]#rpm -ivh gitlab-ce-9.3.5-ce.0.el6.x86_64.rpm [root@caosm03 ~]#gitlab-ctl reconfigure
3.启动gitlab
[root@caosm03 ~]#gitlab-ctl reconfigure
4.使用浏览器访问GitLab (这里访问你的服务器IP地址:80端口)
首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面。
默认的管理员账号是root,如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名。
.上面的步骤执行完后应该就是可以使用了,可是因为我的服务器只有1G内存,所以浏览器访问的时候,时不时的会报502错误,这里我们需要增加服务器虚拟内存可以解决。 (对于502错误,也有可能是服务器端口占用的原因,不过我的服务器没有安装其他东西,所以不会出现端口占用的情况) 502 GitLab is not responding. Please contact your GitLab administrator if this problem persists.
5.增加服务器内存
我这里使用的事虚拟机 给虚拟机直接添加内存 另外一种方式增加swap分区 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP mkswap /var/swap #设置交换文件 swapon /var/swap #激活启用交换分区 echo "/var/swap swap swap defaults 0 0" >> /etc/fstab
6.说明
缺点:这种方式虽然说简单方便,但是定制型很差,默认只能使用postgre和Nginx 主配置文件:/etc/gitlab/gitlab.rb //可以自定义一些邮件服务等 日志地址:/var/log/gitlab/ // 对应各服务 服务地址:/var/opt/gitlab/ // 对应各服务的主目录 仓库地址:/var/opt/gitlab/git-data //记录项目仓库等提交信息 重置配置:gitlab-ctl reconfigure //不要乱用,会重置为最原始的配置的 重启服务:gitlab-ctl stop/start/restart //启动命令 默认安装:postgres、Nginx、redis、unicorn ......
gitlab客户端配置及基本使用
1.客户端默认安装即可。
2.创建密钥
$ ssh-keygen -t rsa -C caoshouming@kanfanews.com Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/PM/.ssh/id_rsa): /c/Users/PM/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/PM/.ssh/id_rsa. Your public key has been saved in /c/Users/PM/.ssh/id_rsa.pub.
3.拷贝密钥到gitlab 上面。
打开路径拷贝id_rsa.pub
[root@caosm03 ~]# cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApA9i1/CL6qcN3T+9jRH5BTgss7nlv3f7hj7n57N8a5M6EngZ0tfyTlpmiQdA6ghWv4jLKTar64TiIf2+CenTSt0qNu485zQ5TpP4vUuuZ5hrD31V+DWg5+ls9v9SF0hABzQPVbCkxjV6kbCY7sCpw/pM85bemw5CvuCL9gdZIkkF7h08qPOWvIbljxxExgs5eS22Ys4ZxANlSYzsHstp6jxq296PSzoloLgW+x5OlR5rHvgowuRuv3sQn3sCaEEvt0EYVUdBwEbOivAJkZjFNORl2EX+u7uIjU4r9Sg5vqSEOM6GWVRDjFIzt4/46fGhJAzScKeuHkEobA/yrNVoNQ== caoshouming@kanfanews.com
4.配置服务端密钥
登陆自己的用户,设置ssh密钥。密钥里面复制,标题写好自己标识。增加密钥即可。
5.客户端进行下载测试
创建测试目录 在git 客户端里面切换到目录里面
$ cd e: PM@kanfa-caosm MINGW64 /e $cd www $ git clone git@gitlab.kanfanews.com:PHP/doc.git Cloning into 'doc'... remote: Counting objects: 1535,done. remote: Compressing objects: 100% (429/429),done. remote: Total 1535 (delta 365),reused 728 (delta 326) Receiving objects: 100% (1535/1535),1.96 MiB | 3.94 MiB/s,done. Resolving deltas: 100% (787/787),done. **注意: git 下载的路径可以从web 上面进行查询 下载整个项目,自己的账户需要有管理员的权限才能下载,否则下载失败提示没有权限**
6.维护命令
查看状态 sudo gitlab-ctl status /# 启动Gitlab所有组件 sudo gitlab-ctl start /# 停止Gitlab所有组件 sudo gitlab-ctl stop /# 重启Gitlab所有组件 sudo gitlab-ctl restart
7.gitlab 数据备份和恢复
配置文件再/etc/gitlab/ 下面,将所有的配置用tar备份即可 [root@caosm03 init.d]# cd /etc/gitlab/ [root@localhost gitlab]# ls gitlab.rb gitlab-secrets.json trusted-certs
备份data (以包安装的方式)
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create Dumping database ... Dumping Postgresql database gitlabhq_production ... [DONE] done Dumping repositories .. 备份目录在: [root@caosm03 backups]# pwd /var/opt/gitlab/backups [root@caosm03 backups]# ls 1512644923_2017_12_07_9.3.5_gitlab_backup.tar # 这个是备份出来的文件
恢复数据 (针对以包安装的方式)
[root@caosm03 ~]# sudo gitlab-ctl stop unicorn [root@caosm03 ~]# sudo gitlab-ctl stop sidekiq [root@caosm03 ~]# sudo gitlab-ctl status [root@caosm03 ~]# sudo gitlab-rake gitlab:backup:restore 1512644923_2017_12_07 注意:这里的默认恢复指定的文件名称是1512644923_2017_12_07_9.3.5_gitlab_backup.tar 和默认格式不一致:这里需要对文件进行重命名不然恢复不成功!!!