GitLab安装部署

Gitlab介绍

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

集成了nginx postgreSQL redis sidekiq等组件

官网 https://about.gitlab.com/downloads

清华镜像 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

安装

centos7下载epel以及更换阿里yum
wget http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm 
wget –O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 

关闭 NetworkManager 和防火墙 
systemctl stop firewalld.service
systemctl disable firewalld 
systemctl disable NetworkManager

关闭SELinux并确认处于关闭状态 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0

sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

查看版本并选择安装
浏览器访问: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64 
rpm -ivh gitlab-ce-10.0.2-ce.0.el7.x86_64 
grep -n "^[a-Z]" /etc/gitlab/gitlab.rb 11:external_url 'http://10.10.10.188' #默认是主机名 
安装完后需要对GitLab进行配置以及启动: 
sudo gitlab-ctl reconfigure && gitlab-ctl restart
head -1 /opt/gitlab/version-manifest.txt #查看版本

覆盖汉化包

克隆获取汉化版本库
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
1.1 停止gitlab服务
gitlab-ctl stop
1.2 切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab) 
cd /root/gitlab
1.3 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下 
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
1.4 回到/root目录
cd
1.5 将10.0.2-zh.diff作为补丁更新到gitlab中 
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff
1.6 启动gitlab
gitlab-ctl start

登录:http://localhost,用户root,首次登陆修改密码

命令行修改密码方式:

gitlab-rails console production #稍等一会
Loading production environment (Rails 4.2.8)
irb(main):001:0> 
irb(main):001:0> user = User.where(id: 1).first     // id为1的是超级管理员
irb(main):002:0>user.password = 'yourpassword'      // 密码必须至少8个字符
irb(main):003:0>user.save!                          // 如没有问题 返回true
exit                                                // 退出

常用命令

  • gitlab-ctl status
  • gitlab-ctl start
  • gitlab-ctl stop
  • gitlab-ctl restart
  • gitlab-ctl tail nginx

Gitlab组件

  • nginx:静态Web服务器 gitlab-shell:用于处理Git命令和修改authorized keys列表
  • gitlab-workhorse:轻量级的反向代理服务器
  • logrotate:日志文件管理工具
  • postgresql:数据库
  • redis:缓存数据库
  • sidekiq:用于在后台执行队列任务(异步执行)
  • unicorn:GitLab Rails应用是托管在这个服务器上面的。

相关文件

  • /var/opt/gitlab/git-data/repositories/root:库默认存储目录
  • /opt/gitlab: 应用代码和相应的依赖程序
  • /var/opt/gitlab:gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置
  • /etc/gitlab: 配置文件目录
  • /var/log/gitlab:此目录下存放了gitlab各个组件产生的日志
  • /var/opt/gitlab/backups/:备份文件生成的目录

WEB界面操作

创建java组、app1项目、将w跟Q开发用户添加到主程序员

提示还没有SSH key

生成SSH KEY

[root@linux-node1 ~]# ssh-keygen #一路回车

[root@linux-node1 ~]# cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgoY68sV/S6Swz2Xc/HpWIVQJ9MzTm6vDznt+ASeRZDZoA7Mil16+JyG+Pc3+rRXWh3XiOvm0OP/XKu5nU6ytK6PA6kaAC4RnM0G8PmBV2Ej3RU/Fu5ADdc1wFUv7GEnk9u/oinkU4E8voFafkRdeemjFXKhA/U8yuK38VvUxyHqDW8aGrztqqabpfft1A6H6MlnDxsXWOeF2tf7jAG39JE35bXY19rdTtPhX5qM/Zs+893zqztWR/f+ZNuE99YUbFSh3izDSdisXFwiLuLo7NG9Fn9alxl2OhAxyy09Cb3nRAR2PvkyrFvOccO5tTI4VS3oIdsM+qn6AxX5xN67el root@linux-node1.example.com

将key添加进去

 

posted @ 2018-08-26 21:13  w787815  阅读(461)  评论(0编辑  收藏  举报