首页 > 其他 > 详细

gitlab安装、备份

时间:2020-07-18 16:58:13      阅读:56      评论:0      收藏:0      [点我收藏+]


Git是版本控制系统,Github是在线的基于Git的代码托管服务,创建公开仓库不收费,创建私人的就得花银子。
gitlab就是纯免费的啦,而且还优化了很多github没有的功能,比如代码片段分享等,总之,要是开源的项目就放到github上,要是私有的,企业内部使用的就使用gitlab更方便一些。

一、gitlab的构成

  • Nginx:静态web服务器。
  • gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby)
  • gitlab-workhorse: 轻量级的反向代理服务器。(go)
  • logrotate:日志文件管理工具。
  • postgresql:数据库。
  • redis:缓存数据库。
  • sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
  • unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)

二、部署

yum安装

1、编辑repo镜像源
`vim /etc/yum.repos.d/gitlab_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、安装依赖
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on 这句是用来做防火墙的,避免用户通过ssh方式和http来访问。
sudo lokkit -s http -s ssh

3、执行
sudo yum makecache
sudo yum install gitlab-ce
sudo gitlab-ctl reconfigure 启动
4、配置域名
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

listen *:8888;
server_name gitlab.test.com;
set $http_host_with_default "gitlab.test.domain.com:8888";

rpm部署

1、下载安装包
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-12.1.4-ce.0.el7.x86_64.rpm/download.rpm
rpm -ivh gitlab-ce-12.1.4-ce.0.el7.x86_64.rpm
2、修改配置
GitLab默认会占用80、8080和9090端口。如果有端口冲突就修改一下gitlab的默认端口。
vim /etc/gitlab/gitlab.rb

external_url 13行
unicorn[‘port‘] 695行
prometheus[‘listen_address‘] 1460行
gitlab_rails[‘webhook_timeout‘] 104行 时间太短了,建议设置为90
gitlab_workhorse[‘auth_backend‘] 550行 必须和unicorn_port是一个端口号

技术分享图片

技术分享图片

技术分享图片
3、systemctl启动

docker安装(我使用的是这个)

1、创建数据目录
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

2、下载镜像
docker search gitlab
docker pull gitlab/gitlab-ce:latest

3、启动
docker run --detach --publish 8443:443 --publish 8080:80 --publish 4422:22 --name gitlab --restart unless-stopped -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/log:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

4、配置
vim /mnt/gitlab/etc/gitlab.rb
external_url ‘http://192.168.x.x‘ 打开注释,并修改
gitlab_rails[‘gitlab_shell_ssh_port‘] = 4422 打开注释,并修改为4422
之后clone的时候需要使用4422这个映射端口,22和宿主机冲突

vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
技术分享图片

同理修改IP和端口,端口使用容器的端口,8080:80中的80

5、进入容器启动
docker exec -ti gitlab /bin/bash

gitlab-ctl reconfigure?  #这儿需要等待一段时间,别慌
gitlab-ctl restart??? 
gitlab-ctl status

三、gitlab-web配置

打开web界面 http://IP:PORT
首次登陆要求配置管理员密码,这里设置的是密码。默认的用户名是root
技术分享图片

创建仓库

一共四个框,没必要截图了吧。。

添加ssh信任

在要添加信任的服务器上执行ssh-keygen -t rsa -C ‘xxx@xxx.com‘
复制公钥 cat ~/.ssh/id_rsa.pub

多个pub配置

ssh-keygen -t rsa -C ‘yourEmail@xx.com‘ -f ~/.ssh/gitlab-rsa 生成一对秘钥ssh key
ssh-keygen -t rsa -C ‘yourEmail2@xx.com‘ -f ~/.ssh/github-rsa 为github生成一对秘钥ssh key
在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa
  ?
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径

照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub

打开web

技术分享图片

技术分享图片

测试

技术分享图片

git clone ssh://git@192.168.2.15:4422/root/testproject.git

备份

gitlab安装、备份

原文:https://www.cnblogs.com/zhaobowen/p/13334105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!