拉取gitlab docker镜像
docker pull gitlab/gitlab-ce:latest
docker run -d \
-p 80:80 \
-p 9922:22 \
-p 443:443 \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/log:/var/log/gitlab \
-v /data/gitlab/opt:/var/opt/gitlab \
--privileged=true \
--name gitlab \
-v /etc/localtime:/etc/localtime:ro \
gitlab/gitlab-ce:latest
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
第一次登录
cat /data/gitlab/etc/initial_root_password | grep Password
注意登录后并修改密码
编辑 vim /data/gitlab/etc/gitlab.rb
# 这个文件是全注释掉了的,所以直接在首行添加如下配置
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.8.9'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.8.9'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
重新加载配置,重启生效
docker exec gitlab gitlab-ctl reconfigure && docker exec gitlab gitlab-ctl restart
当复制地址的时候
创建SSH Key在你的电脑上生成密钥
ssh-keygen -t rsa -C "你的邮箱地址"
然后一路回车,使用默认值即可
打开公钥 id_rsa.pub复制搞gitlab上面去
cat ~/.ssh/id_rsa.pub
登陆GitLab,将鼠标放在我的头像下拉框,“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
测试一下ssh方式拉取代码
git clone 地址
配置ssl
生成证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=192.168.8.9/O=192.168.8.9"
修改3处
external_url 'https://192.168.8.9'
#将HTTP请求重定向到HTTPS
默认情况下,当您指定以“https”开头的外部\u url时,NGINX将不再侦听端口80上未加密的HTTP流量。如果要将所有HTTP通信重定向到HTTPS,可以使用重定向到HTTPS设置。
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/tls.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/tls.key"