Docker安装
拉取镜像
docker pull gitlab/gitlab-ce
部署容器
部署容器前需要先创建需要的文件夹(需要将配置、日志和数据挂到外面)
docker run -d -p 19443:443 -p 1980:80 -p 1922:22 --name gitlab --restart always -v /home/noah/gitlab/config:/etc/gitlab -v /home/noah/gitlab/logs:/var/log/gitlab -v /home/noah/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
Gitlab基础配置
修改地址
【注意】:一定要修改这部分配置,否则项目的地址配置不会生效
sudo vim /home/noah/gitlab/config/gitlab.rb
其中,主要修改以下的内容:
# http 访问地址,如果没有端口号则为80
external_url 'http://172.19.26.160'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '172.19.26.160'
# ssh 端口,注意需要配置为刚才映射出去的端口
gitlab_rails['gitlab_shell_ssh_port'] = 1922
重启Gitlab容器
通过界面或命令行重启容器即可让配置生效
默认账户
# 默认用户名为 root,密码执行下面命令查看
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
切换到中文(可选)
Gitlab支持中文界面,建议切换到中文
点击用户头像,选择
Preferences
界面拉到下面,将
Localization
中的Language
改为Chinese
保存即可
修改管理员密码
点击用户头像,选择
偏好设置
左侧选择
密码
,输入当前密码
和新密码
、确认密码
点击
保存密码
即可
添加SSH密钥
Windows
# 输入后一直按回车就行(一般不需要设置密码)
ssh-keygen
# 生成后的密钥在用户根目录(Users/用户名/.ssh)
Linux/Macos
# 同样一直按回车就可以,也会在用户根目录下生成.ssh目录
ssh-keygen -t rsa
为Gitlab添加公钥
点击用户头像,选择
偏好设置
左侧选择
SSH密钥
其中,密钥部分输入刚才生成的
id_rsa.pub
文件内容,下面的内容会自动补全可以删除到期时间,让此密钥永不过期(不推荐)
测试拉取项目
git clone ssh://git@172.19.26.160:1922/demo/test.git
Docker Compose安装
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh:11.1.4'
restart: always
hostname: '本机IP'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://本机IP:8080'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 8080
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] =465
gitlab_rails['smtp_user_name'] = "你自己的邮箱"
gitlab_rails['smtp_password'] = "之前给的授权码"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '你自己的邮箱'
gitlab_rails['gitlab_email_display_name'] = '你自己的邮箱'
ports:
- '8080:8080'
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
参与讨论
(Participate in the discussion)
参与讨论