centos 7 安装gitlab 代码管理服务

###centos 7 安装gitlab
    yum install postfix
    systemctl enable postfix
    systemctl start postfix
    #国内加速
    cat gitlab_gitlab-ce.repo 
        [gitlab-ce]
        name=gitlab-ce
        baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
        repo_gpgcheck=0
        gpgcheck=0
        enabled=1
        gpgkey=https://packages.gitlab.com/gpg.key
    #curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    ##gitlab-ee(企业版)
        curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
    EXTERNAL_URL="https://git.panpass.com" yum install -y gitlab-ce-11.6.3
    #安装指定版本
        yum -y install https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.6.3-ce.0.el7.x86_64.rpm
    gitlab-ctl reconfigure
    
    #如果是重新安装的gitlab,请注意redis进程的残留和unicorn的端口冲突问题,否者访问gitlab可能报错502:
        502 
        GitLab is not responding. 
        Please contact your GitLab administrator if this problem persists.

###gitlab服务器迁移
公司更换了新的服务器,需要把原先的gitlab迁移到新的服务器上.

    1.迁移准备工作和思路:从a服务器迁移到b服务器,由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需要注意在b服务器部署和a服务器一样版本的gitlab,    部署好环境后开始备份和数据迁移.
    关于gitlab服务器部署请参考我的  另一遍文章:http://www.cnblogs.com/wenwei-blog/p/5861450.html

     查看gitlab版本的命令:

     gitlab-rake gitlab:env:info

    2. 备份原a服务器上的的数据

    gitlab-rake gitlab:backup:create RAILS_ENV=production
    PS: 备份后的文件一般是位于/var/opt/gitlab/backups下, 自动生成文件名文件名如1481529483_gitlab_backup.tar
    
    3. 将步骤2生成的tar文件拷贝到b服务器上相应的backups目录下
    可以利用scp进行直接拷贝.
    scp username@src_ip:/var/opt/gitlab/backups/1481529483_gitlab_backup.tar /var/opt/gitlab/backups
    PS: username为原服务器的用户名,src_ip原服务器IP地址
    
    4. 在b服务器恢复数据
    gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1481529483
    PS:BACKUP的时间点必须与原服务器备份后的文件名一致
     
    5.出错解决:
    数据迁移到后检查登录gialab有时候会跳出500报错(Something went wrong on our end.)以及无法正常新建用户
    查看日志:tail -f /var/log/gitlab/redis/current
    Can't save in background: fork: Cannot allocate memory
    解决方案
    修改/etc/sysctl.conf
    加上vm.overcommit_memory = 1, Linux内核会根据参数vm.overcommit_memory参数的设置决定是否放行。
    修改完执行sysctl -p
    vm.overcommit_memory = 1,直接放行
    vm.overcommit_memory = 0:则比较 此次请求分配的虚拟内存大小和系统当前空闲的物理内存加上swap,决定是否放行。
    vm.overcommit_memory = 2:则会比较进程所有已分配的虚拟内存加上此次请求分配的虚拟内
    gitlab迁移参考网址:

    参考网址:http://wenva.github.io/git/2016/04/22/Gitlab%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB.html
###git权限说明

                    Guest    Reporter    Developer    Master    Owner
Create new issues        *        *        *            *        *
Leave comments            *        *        *            *        *
Pull the project code            *        *            *        *
Download a project                *        *            *        *
Create code snippets            *        *            *        *
Create new merge requests                *            *        *
Push changes to nonprotected branches    *            *        *
Remove nonprotected branches            *            *        *
Add tags                                *            *        *
Write a wiki                            *            *        *
Manage the issue tracker                *            *        *
Add new team members                                *        *
Push changes to protected branches                    *        *
Manage the branch protection                        *        *
Manage Git tags                                        *        *
Edit the project                                    *        *
Add deploy keys to the project                        *        *
Configure the project hooks                            *        *

你可能感兴趣的:(centos 7 安装gitlab 代码管理服务)