gitlab 安装详解

https://docs.gitlab.com/omnibus/docker/README.html#run-the-image

在这里讲 Centos 7 操作系统的两种方法安装:
<一>Docker安装:
https://docs.gitlab.com/omnibus/docker/README.html#run-the-image
(1:)docker search gitlab 首先搜索一下gitlab
docker.io docker.io/gitlab/gitlab-ce 结果中有这一条显示,则表示搜索到
(2:) docker pull gitlab/gitlab-ce 拉取这镜像,待拉取成功
(3:) docker images | grep gitlab-ce 查看本地是否有该镜像
(4:) 在一个run.sh文件中添加如下脚本内容

#!/bin/bash
docker run --detach \
    --hostname gitlab.example.com \
    --env GITLAB_OMNIBUS_CONFIG = "external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
    --publish 443:443 --publish 80:80 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab :Z \
    --volume /srv/gitlab/logs:/var/log/gitlab :Z \
    --volume /srv/gitlab/data:/var/opt/gitlab :Z \
    gitlab/gitlab-ce:latest

(1)
上面 脚本中,我们要注意红色字段,这里挂载宿主机目录到docker容器中。
/srv/gitlab/config : /etc/gitlab :Z
其中 /srv/gitlab/config 指的是宿主机目录
/etc/gitlab 表示的是容器中的目录
:z 这个字符最关键,可以解决挂载目录时的权限问题
当你的centos 7系统执行如下命令结果如下时,如果不加 :z 时:
[root@localhost ~]# getenforce
Enforcing
测会出现权限问题,用
docker logs -f --tail=100 gitlab 命令查看容器的运行日志,会发现有
permission denied
(2)
上面 脚本中,
--publish 443 :443 表示暴露容器中的443端口到宿主机443端口,
这样可以通过配置 https访问gitlab
--publish 80 :80 表示暴露容器中的80端口到宿主机80端口,
这样可以通过80端口访问gitlab 如果我们的宿主机的80
端口被占用,可以换一个端口,
注意红色的80表示宿主机端口
(3)
设置外部访问的域名
http://my.domain.com/ 其中这个值,表示我们打算通过这个域名来访问gitlab.这里用域名而不
直接用ip的原因,是因为当服务器的ip发生变化。
我们就不能通过ip直接来访问了。如果设置成域名,那个我们可以通过域
名映射来解决这个问题,而不需要重新配置gitlab,如果我们没有申请
域名,我们可以通过修改hosts文件的映射来解决
比如:windows系统中的 hosts文件中添加
192.168.106.32 my.domain.com #这表示当我们在浏览器中输入
http://my.domain.com 时,等同于 http://192.168.106.32

如果容器不够内存,我们还可以指定内存用如下脚本
#!/bin/bash

curdir=$PWD
echo $curdir

docker run --detach \
--memory 3072M \
--memory-swap -1 \
--hostname gitlab.example.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 443:443 --publish 80:80 \
--name gitlab \
--restart always \
--volume ${curdir}/gitlab/config:/etc/gitlab:z \
--volume ${curdir}/gitlab/logs:/var/log/gitlab:z \
--volume ${curdir}/gitlab/data:/var/opt/gitlab:z \
gitlab/gitlab-ce:latest

上面的脚本中指定了:
外部访问域名为 gitlab.example.com.
容器可以用的最大内存 3072M 交换内存可以无限制
另外 gitlab_rails['lfs_enabled'] = true; 表示可以使用大文件存储,
另外 最重要的时我们指定了:
配置文件目录${curdir}/gitlab/config 在当前目录下创建gitlab/config,用于存储gitlab配置文件
日志文件目录${curdir}/gitlab/logs 日志
数据文件目录${curdir}/gitlab/data:             数据,方便后续代码迁移
如下图就是具体的目录情况:

gitlab 安装详解_第1张图片


gitlab 安装详解_第2张图片

gitlab 安装详解_第3张图片


<二>安装包安装:
https://about.gitlab.com/installation/#centos-7

sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo systemctl start sshdsudo firewall-cmd --permanent --add-service=httpsudo systemctl reload firewalld
sudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

参考网址:

https://docs.gitlab.com/omnibus/settings/configuration.html   配置信息

https://about.gitlab.com/installation/#centos-7       非容器安装

https://docs.gitlab.com/omnibus/docker/README.html#run-the-image   docker安装

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md#storing-git-data-in-an-alternative-directory


你可能感兴趣的:(gitlab 安装详解)