Linux搭建gitlab

>由于上一篇搭建的git服务器,进行权限控制时很不方便,决定重新搭建gitlab作为管理项目工具,有web页面操作起来也很方便。本文只记录安装过程以备后用。 ####一、服务端 1. **配置服务yum源** ``` vim /etc/yum.repos.d/gitlab-ce.repo //添加以下内容到文末 [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 ``` 2. **更新yum缓存** ``` yum makecache ``` 3. **安装gitlab** ``` yum install gitlab-ce -y ``` 4. **修改gitlab相关配置** ``` vim /etc/gitlab/gitlab.rb //修改gitlab 默认URL external_url 'http://serverIp:port' //根据自己的服务器填写ip和port //修改gitlab默认仓库地址 git_data_dirs({ "default" => { "path" => "/app/data/git-data" } }) //修改gitlab注册邮件发送 user['git_user_email']="你的邮箱@163.com" gitlab_rails['smtp_enable']=true gitlab_rails['smtp_address']="smtp.163.com" gitlab_rails['smtp_port']=465 gitlab_rails['smtp_user_name']="你的邮箱@163.com" gitlab_rails['smtp_password']="你的邮箱授权码!!不是登录密码 是授权码" gitlab_rails['smtp_domain']="163.com" gitlab_rails['smtp_authentication']="login" gitlab_rails['smtp_enable_starttls_auto']=true gitlab_rails['smtp_tls']=true gitlab_rails['gitlab_email_from']="你的邮箱@163.com" ``` *** **上面提及的邮箱授权码获取步骤:** ![image.png](https://upload-images.jianshu.io/upload_images/2975497-8e708273f11e5d4f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/2975497-a7141a09e11653dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 若第一次设置,勾选POP3/SMTP服务后会提示设置授权码 然后验证邮箱获取授权吗即可 *** ![gitlab_url.png](https://upload-images.jianshu.io/upload_images/2975497-59bc9fe0acc3f046.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![git_data_dirs.png](https://upload-images.jianshu.io/upload_images/2975497-255b64be83d25742.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![git_email.png](https://upload-images.jianshu.io/upload_images/2975497-fdd1fbae5c58ef54.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 4. **启动gitlab服务** ``` gitlab-ctl start #启动所有 gitlab 组件; gitlab-ctl stop # 停止所有 gitlab 组件; gitlab-ctl restart # 重启所有 gitlab 组件; gitlab-ctl status # 查看服务状态; gitlab-ctl reconfigure # 启动服务;(重新加载配置文件,在GitLab初次安装后可以使用,但是在业务环境中不可随意使用,reconfigure会把一些过去的config还原,导致修改的端口以及域名等都没有了。) vim /etc/gitlab/gitlab.rb # 修改默认的配置文件; gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab; sudo gitlab-ctl tail # 查看日志; ``` **执行启动命令后,至此,服务端gitlab已经配置好** ####二、web端 1. **登录gitlab** 浏览器访问,服务端配置的url:http://你的服务器ip:端口 首次登录会强制用户修改密码。密码修改成功后,输入用户名root和密码进行登录。 **注:若无法访问,则可以使用ps -ef命令查看服务是否正常启动,若未启动, 则重新开启,若仍然启动不了,则可使用gitlab-ctl reconfigure(仅限初始环境下使用)命令启动服务, 然后再访问GitLab。** 2. **取消gitlba注册用户** 由于目前是开放注册,任何人都可以注册使用,显然不是我们想要的,服务端我们配置了邮箱,用于管理员邀请用户发送邮件。 ![image.png](https://upload-images.jianshu.io/upload_images/2975497-7a54232b06387466.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 3. **管理员添加用户** ![image.png](https://upload-images.jianshu.io/upload_images/2975497-71f5ae844fef8648.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 输入用户的姓名邮箱后,邮箱会有一个注册邀请,注册即可。 4. **创建项目并添加开发人员** ![image.png](https://upload-images.jianshu.io/upload_images/2975497-f9ddb5b4c7da8a66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 创建完成后,点击项目跳到项目管理页面,找到setting->members,进行添加开发人员。默认master是受保护项目,可以添加developer作为其他分支的开发。也可以自己设置用户组,都一样 ![image.png](https://upload-images.jianshu.io/upload_images/2975497-9140e006049fd738.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 5. **注册的用户,添加自己的ssh-key** 注册的用户登录后,将自己本机的公钥id_rsa.pub复制添加至如图页面中。(如何生成公钥参见:https://www.jianshu.com/p/d2d542143be5) ![image.png](https://upload-images.jianshu.io/upload_images/2975497-00ae0447dfdf0cfa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) **关于用户权限分类:** Guest(访客) – 阅览项目、写留言薄; Reporter(报告人)- 阅览项目、写留言薄、拉项目、下载项目、创建代码片 段; Developer(开发者)- 阅览项目、写留言薄、拉项目、下载项目、创建代码 片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki; Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片 段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki、增加团队成员、推送受保护的分支、移除受保护 的分支、编辑项目、添加部署密钥、配置项目钩子; Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki、增加团队成员、推送受保护的分支、移除受保护 的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转 移到另一个名称空间、删除项目; *** **至此gitlab搭建已经完成** ***

你可能感兴趣的:(Linux搭建gitlab)