喜欢作者的关注我置顶文章公众号
说明:
我们在开发种基本都会使用git作为版本管理的工具。并且我们版本控制方面做的比较优秀并且在github上有大量开源的源码提供给我们使用。这一篇主要讲述gitlab的安装以及在日常开发种的使用等
为了我们安装好的gitlab便于迁移。我们把gitlab安装到docker镜像中。
由于gitlab对内存和cpu的要求比较高 我们的内存最好设置成8G及以上CPU核数也设置成2*2以上
- 拉取ssh的镜像并启动ssh镜像。
拉取了ssh镜像如下图所示:
我们使用命令:
docker run -tid --name gitlab -p 10001:22 -p 10002:8080 --privileged=true cccf /sbin/init
启动ssh镜像

我们可以通过docker exec -it <容器id> bash进入容器也可以使用xshell通过10001端口连接到docker容器。我们启动的容器id为2741ee424c5cf2f39072e4f...
我们使用命令docker exec -it 2741 bash进入到容器并在该容器中安装gitlab
- 设置ssh服务。
我们的镜像已经安装了ssh服务。我们把ssh服务设置为开机自启动并启动ssh服务。分别执行下面的两条命令:
systemctl enable sshd
systemctl start sshd
- 安装防火墙并设置开机启动和启动防火墙。分别执行下面的命令
yum install firewalld systemd -y #安装防火墙
service firewalld start #启动防火墙
systemctl enable firewalld #开机启动防火墙
- 添加http服务到firewalld。执行如下的命令
firewall-cmd --permanent --add-service=http
--pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效
执行成功后会提示success
- 重启防火墙。执行下面的命令
systemctl reload firewalld
- 安装postfix用于发送邮件通知.分别执行下面的命令
yum install postfix #安装postfix服务
安装完成之后我们需要修改部分配置文件才能成功启动postfix
yum install vim -y #安装vim服务(不安装可以使用vi命令打开)
vim /etc/postfix/main.cf #打开postfix的配置文件
打开配置文件如下图所示:
修改箭头所指的两个配置文件 分别改为
inet_interfaces = all
inet_protocols = ipv4
修改后如下图所示:
保存退出执行开启启动和启动命令如下:
systemctl enable postfix #设置postfix开机启动
systemctl start postfix #启动postfix
- 安装gitlab
由于ssh服务未安装wget服务。先执行下面的命令:
yum -y install wget #安装wget服务
使用下面的命令下载gitlab的安装包。命令如下:wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.0-ce.0.el7.x86_64.rpm
由于该文件比较大 我们wget命令中使用-c -t 0 在文件下载失败后可以重新执行该命令从原文件下载到的位置重新下载。
我们直接使用rpm -i gitlab-ce-12.0.0-ce.0.el7.x86_64.rpm安装会提示一个缺少依赖的提示。下执行下面的命令安装依赖文件:
yum install policycoreutils-python #安装policycoreutils-python
rpm -i gitlab-ce-12.0.0-ce.0.el7.x86_64.rpm #安装gitlab
- 修改gitlab的配置。分别执行下面的命令
vim /etc/gitlab/gitlab.rb #打开gitlab的配置文件
在配置文件中加入如下内容:
external_url 'http://localhost:8080'
unicorn['port'] = 8088
修改配置文件后如下图所示:
修改完配置文件之后需要重新加载配置文件。在重新加载之前先启动gitlab需要的相关组件:
/opt/gitlab/embedded/bin/runsvdir-start #启动gitlab启动需要的相关组件
gitlab-ctl reconfigure #重新加载配置文件
gitlab-ctl restart #重启gitlab
启动成功gitlab如下图所示:
我们关闭容器的防火墙。
http://192.168.218.128:10002/users/password/edit?reset_password_token=SaNRJij32zu3Qxw26Br4
请求上面的请求如下图所示:
说明我们安装成功了。第一次进入gitlab需要重置密码。
具体gitlab的使用请自行熟悉。
我们把该容器打成镜像并上传到阿里云以备后用。