黑五抢了个Virmach的大内存机器,终于可以折腾下超级吃内存的GitLab。GitLab的安装方式有好几种,个人比较建议用Docker,部署快速,而且不容易影响机器本身安装好的服务。
Docker安装
CentOS 7
直接通过yum安装即可:
yum -y install docker-io
成功安装后,就能开启 Docker 服务:
service docker start
设置Docker开机自启动:
systemctl enable docker
Ubuntu
跟CentOS类似,安装也非常方便):
#获取源最新的包
sudo apt-get update
#安装
sudo apt install docker.io
安装完成后,启动Docker服务并使其每次在系统启动时启动:
systemctl start docker
systemctl enable docker
下载镜像
一句命令即可:
docker pull gitlab/gitlab-ce:latest
创建容器
镜像官方文档在https://docs.gitlab.com/omnibus/docker,有比较详细的说明。这里简单介绍一下:
以一个简单的例子示范如何创建容器。这里使用默认的SSH、HTTP和HTTPS端口,设定可通过git.shiyanhe.com域名访问GitLab,并把容器的数据保存在/gitlab
路径中:
sudo docker run --detach \
--hostname git.shiyanhe.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /gitlab/config:/etc/gitlab \
--volume /gitlab/logs:/var/log/gitlab \
--volume /gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
创建成功后,就可以通过域名打开GitLab。首次访问需要重新设定密码。如果不想使用域名,把--hostname git.shiyanhe.com \
一行去掉就行。
如果想使用其它端口,比如把GitLab的SSH端口改为888,则在--publish 机器端口:容器端口
中修改即可:
sudo docker run --detach \
--hostname git.shiyanhe.com \
--publish 443:443 --publish 80:80 --publish 888:22 \
--name gitlab \
--restart always \
--volume /gitlab/config:/etc/gitlab \
--volume /gitlab/logs:/var/log/gitlab \
--volume /gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
注意,如果要更改默认端口,同样需要修改配置文件gitlab.rb
:
打开运行的容器中的配置文件:
sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb
配置文件中有各个配置的说明。如果需要修改相应项目,需要去掉注释(行开头的#号)再修改,或者直接参照说明在配置文件中写入新的。以修改端口为例,在配置文件中找到gitlab_rails['gitlab_shell_ssh_port']
一项,去掉开题的#,并把端口改为新的端口(也可以直接在配置文件中加入下面一行):
gitlab_rails['gitlab_shell_ssh_port'] = 888
保存配置文件后,重启容器:
sudo docker restart gitlab
使用SSL
待补充,可参考:
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
https://my.oschina.net/iluckyboy/blog/690286
https://www.jianshu.com/p/aa307ee95442
配置使用外部nginx
待补充,可参考https://www.centos.bz/2017/07/docker-install-gitlab-external-nginx/
如果要禁止通过ip的方式访问,只允许域名访问GitLab,可在nginx配置文件中加入:
server {
listen *:80;
listen *:443;
server_name _;
server_tokens off;
deny all;
access_log off;
error_log /var/log/gitlab/nginx/gitlab_error.log; # 错误日志的存放路径自己设定
}
配置邮箱
待补充,可参考https://medium.com/@CoderAFI/docker-gitlab-3fa06d6ec0b5
暂无评论内容