在Centos上用Docker安装gitlab
前言
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面 [ 百度百科 ]
开始
1 .GitLab官网地址:gitlab docker,由于外网太卡,我们用阿里云docker镜像
2 .先安装Docker,命令如下:
yum install docker
service docker start
chkconfig docker on --加入开机启动
3 .登录docker gub,查看Docker Hub 镜像站点地址,在Centos中配置
vi /etc/docker/daemon.json
配置如下:
{
"registry-mirrors": ["https://al0lqz5g.mirror.aliyuncs.com"]
}
4 .在阿里docker镜像中查找gitlab合适版本的镜像,我这里使用GitLab 中文社区版,并下载
docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh:latest
5 .关闭Centos的权限控制,并启动docker
setenforce 0 --临时关闭 selinux 防火墙
vi /etc/sysconfig/selinux --永久关闭
SELINUX=disabled --将enforcing改为disabled
因为22端口经常被Centos占用,可以先修改为其他端口 如:23,优先执行权限关闭(上一步)
vi /etc/ssh/sshd_config
service sshd restart
启动docker,其中10080是对外网站端口,10022是对外ssh协议端口。建议设置为 443:443 80:80 22:22。方便gitlab 自动生成不带端口号的地址。
docker run --detach \
--hostname 172.16.2.87 \
--publish 10443:443 --publish 10080:80 --publish 10022:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh:latest
如果想进入docker中修改端口,可执行下列命令
docker ps -a
docker exec -it 8b9a11c3317b /bin/bash --进入docker
vi /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_shell_ssh_port'] = 10022 --223行
gitlab-ctl reconfigure
exit
6 .查看是否启动成功
docker ps -a
docker stop gitlab
docker rm gitlab -f --删除docker
docker logs gitlab --查看日志
7 .登录发布好的gitlab,账号密码为:root / 5iveL!fe
8 .如果使用ssh的方式提交代码,由于ssh端口不一致问题,可以使用地址方式来下载
ssh://git@172.16.2.87:10022/root/test.git
9 .gitlab使用说明
由于项目创建限制10个,登录管理员账号,点击右上角的管理区域按钮,点击管理员用户,编辑,权限,项目限制,修改为自己想要的数值。
取消注册功能,点击左边菜单最后一栏设置,登录限制,取消开启注册。
发件邮箱配置:
docker ps -a
docker exec -it 8b9a11c3317b /bin/bash --进入docker
vi /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure --加载新配置
exit
配置如下,直接粘贴进去即可,里面都是注释的:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] ="smtp.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] ="yuhaoo@qq.com"
gitlab_rails['smtp_password'] ="xxxxxx"
gitlab_rails['smtp_domain'] ="qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] ="yuhaoo@qq.com"
user['git_user_email'] ="yuhaoo@qq.com"