gitlab

此生再无相见时 提交于 2021-02-12 06:30:29

gitlab安装和配置和访问

我这里使用的是centos 7 64bit,我试过centos 6也是可以的!
1. 安装依赖软件
    yum -y install policycoreutils openssh-server openssh-clients postfix
2.设置postfix开机自启,并启动,postfix支持gitlab发信功能
    systemctl enable postfix && systemctl start postfix
3.下载gitlab安装包,然后安装
    centos 6系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
    centos 7系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
    我的是centos7,所以我在https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7中找了个gitlab8.0.0版本,建议下载一个比较新的版本,我这里选了一个比较旧的版本仅仅是实验
    下载rpm包并安装:
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
    rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
4.修改gitlab配置文件:
vim  /etc/gitlab/gitlab.rb
    external_url 'http://www.test.com' #这里面必须是域名。不然gitlab-ctl start会有问题,此域名随便写,访问的时候可以绑host。退出并保存
    gitlab_rails['backup_path'] = '/data/gitlab/backups'   #备份目录
    ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口
    git_data_dirs({ "default" => { "path" => "/data/git-data", 'gitaly_address' => 'unix:/var/opt/gitlab/gitaly/gitaly.socket' } }) #path 后面是修改git仓库目录路径
   配置例子:
    
external_url 'http://git.prosysoft.com'

         gitlab_rails['backup_path'] = "/home/backup/gitlab"
         git_data_dirs({ "default" => { "path" => "/home/gitlab/git-data", 'gitaly_address' => 'unix:/var/opt/gitlab/gitaly/gitaly.socket' } })
         nginx['listen_port'] = 81



4.1内核忧化 vim /etc/sysctl.conf ======================== net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 ========================== sysctl -p 5.重置并启动GitLab 执行: gitlab-ctl reconfigure #修改配置文件要执行这个才生效 gitlab-ctl restart 6.访问 GitLab页面 如果没有域名,直接输入服务器ip和指定端口进行访问 初始账户: root 密码: 5iveL!fe 第一次登录修改密码

 命令行更改用户密码

#也可以命令行修改root密码
    # gitlab-rails console production
    Loading production environment (Rails 4.1.11)
    irb(main):001:0> user = User.where(id:1).first //id为1的是超级管理员
    irb(main):002:0>user.password = '1q2w3e4r' //密码必须至少8个字符
    irb(main):003:0>user.save! // 如没有问题 返回true

#修改其它用户
    sudo gitlab-rails console production
    > user=User.where(name:"hanxiaohui").first
    > user.password = 'Han1huI840610'
    > user.save!
    > quit

 

 gitlab日常管理

nginx 安装路径
     /var/opt/gitlab/nginx
默认仓库地址(未自定义过):
    /var/opt/gitlab/git-data/
默认的配置文件(更改仓库地址 repos_path 会有问题):
    /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
查看版本信息:
    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
动态跟踪gitlab 日志:
    gitlab-ctl tail

 更改nginx端口 

/var/opt/gitlab/nginx/conf/gitlab-http.conf  #更改server listen

 

gitlab日常备份和迁移

使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单.

使用一条命令即可创建完整的Gitlab备份:
    gitlab-rake gitlab:backup:create

    使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1468394531_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1468394531是备份创建的日期.

    Gitlab 修改备份文件默认目录:

    在初次安装完gitlab 后,可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录.修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可(同时,支持远程备份,将备份文件备份到远程服务器上,并设定权限).:

    gitlab_rails['backup_path'] = '/data/gitlab/backups'

Gitlab 自动备份

    可以通过crontab使用备份命令实现自动备份:
    crontab -e
    0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

Gitlab 恢复

    同样, Gitlab的从备份恢复也非常简单:

    # 停止相关数据连接服务
    gitlab-ctl stop unicorn
    gitlab-ctl stop sidekiq

    # 从1468394531编号备份中恢复
    gitlab-rake gitlab:backup:restore BACKUP=1468394531

    # 启动Gitlab
    sudo gitlab-ctl start

Gitlab迁移

    迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话). 
但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份

 

客户端http clone

git clone http://abc:1q2w3e4r@192.168.66.155:81/test/aaa.git #abc为帐号名,1q2w3e4r密码

 

客户端git sshkey clone

ssh-keygen #回车3次
cd /root/.ssh
cat id_rsa.pub #把输出内容加入到gitlab控制台 sshkey。看以下载图

(1)

(2)

 

vim /root/.ssh/config #host gitlab访问地址, port gitlab服务器ssh端口号
======================
Host git.prosysoft.cn
Port 22225

Host git.prosysoft.com
Port 22225
======================

克隆
git clone git@xxxxxxx:test/test.git

================

gitlab提交代码刷新

#客户端
[root@node-214 /opt/nginx/webhooks 14:52:47&&5]#cat pccb.php
<?php
exec("cd /opt/nginx/html/pccb;/usr/bin/git pull");
?>

#服务端,提交代码触发访问客户端的Php文件来更新代码
[root@office hooks]# pwd
/home/gitlab/git-data/repositories/acooly/acooly-showcase.git/hooks
[root@office hooks]# cat post-receive
#!/bin/bash

curl http://192.168.55.214:81/pccbgroup.php
curl http://192.168.55.214:81/pccb.php
curl http://192.168.55.214:81/prosysoft.php
curl http://192.168.55.214:81/iosUtils.php
curl http://192.168.55.215:81/1119e.php
curl http://192.168.55.215:81/fineryding.php
curl http://192.168.55.215:81/gfintech.php
curl http://192.168.55.215:81/tools.php
curl http://192.168.55.215:81/other.php

 gitlab升级

https://www.cnblogs.com/straycats/p/7707359.html 升级

2.1 关闭部分gitlab服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
 

2.2 升级

rpm -Uvh gitlab-ce-10.0.4-ce.0.el7.x86_64.rpm
 

2.3 重新配置gitlab

gitlab-ctl reconfigure
 

2.4 重启gitlab

gitlab-ctl restart

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!