docker run -d
-h 192.168.0.235
-p 443:443 -p 80:80 -p 2222:22
-e TZ=Asia/Shanghai
--shm-size 256m
--name gitlab
--restart always
-v /data/gitlab/config:/etc/gitlab
-v /data/gitlab/logs:/var/log/gitlab
-v /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest #-h这里写ip -p指定端口随意网页设置
#修改配置文件 vi /data/gitlab/config/gitlab.rb #比较配置 gitlab-ctl diff-config #加载配置 gitlab-ctl reconfigure #重启gitlab gitlab-ctl restart #查看状态 gitlab-ctl status
修改gitlab.rb文件中的IP与端口号
提示:在规定的位置放置规定的命令
// 在gitlab创建项目时候http地址的host(不用添加端口) external_url 'http://192.168.0.235'
//配置ssh协议所使用的访问地址和端口 gitlab_rails['gitlab_ssh_host'] = '192.168.0.235' //和上一个IP输入的一样 gitlab_rails['gitlab_shell_ssh_port'] = 2222 // 此端口是run时2222端口映射的22端口 :wq //保存配置文件并退出 -p 2222:22 #理解是ssh转发,固定映射22就可以用于ssh拉取代码,但是本机22冲突,这里设置一个2222用于映射,在设置web端用于复制拉取,这里的gitlab_shell_ssh_port 2222显示在web端用于复制
设置邮件发送
vi /etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xinghuan@xinghuankj.com" gitlab_rails['smtp_password'] = "ZYWYaXyx2jeGMWG4" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['smtp_pool'] = true
gitlab_rails['gitlab_email_from'] = 'xinghuan@xinghuankj.com' #邮箱地址
user['git_user_email'] = "xinghuan@xinghuankj.com"
#重新加载配置
gitlab-ctl reconfigure
执行这个命令后,可能会卡住等待一小会儿 gitlab-rails console 测试邮件发送 Notify.test_email('13731754667@163.com','邮件标题','邮件内容').deliver_now
设置ssh密钥拉取
检查密钥是否存在
ls -alh ~/.ssh
不存在生成密钥
#用户wangbin 生成密钥 ssh-keygen -t rsa -C "gitlab" -f ~/.ssh/gitlabpullweb_rsa