随着Git代码管理工具的兴起,我们很多时候需要用到自己的git私有服务器,从而做到代码防止泄露等。GitLab为我们提供了一种简便的方式,使我们可以快速搭建自己的Git私有服务器
基础条件
本文是在一台装有docker服务器上安装的GitLab。
安装GitLab
1.安装postgresql,用来存储GitLab账号
docker run --restart=always --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /data/docker/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:10
2.安装redis缓存,缓存gitlab里面的东西
docker run --restart=always --name gitlab-redis -d \
--volume /data/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:3.0.6
3.安装Gitlab
docker run --restart=always --name gitlab -d \
--link gitlab-postgresql:postgresql \
--link gitlab-redis:redisio \
--publish 10022:22 --publish 453:443 --publish 10080:80 \
--env 'GITLAB_PORT=443' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_HOST=XX.XXX.XX.XXX' \
--env 'GITLAB_ROOT_EMAIL=XXXXXXXX@XX.com' \
--env 'GITLAB_ROOT_PASSWORD=XXXXXXX' \
--env 'GITLAB_BACKUP_SCHEDULE=daily' \
--env 'GITLAB_BACKUP_TIME=10:30' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=zkdH5tmGW5vcv4vqqGFxSTsMKrSdPt79Q7kSXx6R3WdmpD6vMnqmBR54ZNnxW7wq' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=RzJ2lLwQVMwS9BnPPSzQhbnMQ8r5nxzV1TZbh74LCNHQfCJ3WMLWw2j9fD9wG7BC' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=FdFH2XBn9VgwPWFPJ2dP75K3zms8K7qbvqCqDsvVSmxDt2jHflnBM3m7qcWNNJWN' \
--volume /data/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:11.0.4
配置GitLab的参数解释,
1.两个link,是通过连接到我们刚刚配置的redis和postgresql;
2.3和4是配置端口映射;
3.第4排是自己服务器的IP或者域名;
4.第5和6排是绑定的email账号和密码,用来初始化登陆GitLab
5.第7和8排,是配置每天定时进行数据备份。
6.第9、10、11这三排的数据很重要,复制即可。
7.第12排配置的路径映射
8.配置的是GitLab的版本,也可以用least,表示使用最新的版本。
4.安装完成之后,去服务器控制台打开对应的端口号。
5.在网页输入IP和端口号,进行登录。若报错502.不用着急,等1~2分钟后进行刷新页面即可。这样表示GitLab创建成功。
6.接下来是记录等一次通过GitLab创建项目然后Clone代码的过程和报错。这是创建了个测试项目。
7,通过本地Windows的Git进行配置SSH key。以便用来Clone代码。(https://gitlab.com/profile/keys)
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
输入回车键即可,然后找到C盘下对应的.ssh文件夹,将里面的.pub的文件复制到网页配置SSH key的位置即可。
8.Clone路径到GitLab代码即可(理论上)。
但是我通过idea进行clone代码的时候出现了报错。
9.重启电脑也没有用,于是通过百度-----解决git报ssh variant ‘simple’ does not support setting port
解决方法:在git bash 中输入命令
git config --global ssh.variant ssh
10.解决之后,就可以clone代码,进行编写代码了。然后上传了一个测试代码到GitLab,成功上传。到此,搭建私服GilLab成功!