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";
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启动
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
打开web界面 http://IP:PORT
首次登陆要求配置管理员密码,这里设置的是密码。默认的用户名是root
一共四个框,没必要截图了吧。。
在要添加信任的服务器上执行ssh-keygen -t rsa -C ‘xxx@xxx.com‘
复制公钥 cat ~/.ssh/id_rsa.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
git clone ssh://git@192.168.2.15:4422/root/testproject.git
原文:https://www.cnblogs.com/zhaobowen/p/13334105.html