📅  最后修改于: 2023-12-03 15:06:46.128000             🧑  作者: Mango
如果你需要一份开源的版本控制方案,GitLab 可能是你需要的。它是一个管理 Git 仓库的自托管 Web 应用程序,可以用于跟踪代码更改、协作和版本控制等方面。
在本教程中,我们将介绍如何使用 Docker 引擎来安装 GitLab。
在开始安装 GitLab 之前,你需要先确保在你的服务器上已经安装了 Docker 引擎。如果你还没有安装,可以参考 Docker 安装指南 进行安装。
以下是一些常见的 GitLab Docker 安装选项:
你可以使用 Docker Compose 来快速部署 GitLab。
docker-compose.yml
的文件,并将以下内容复制到文件中。version: '3'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com:8929'
# 更改这里的 port 和 http → https,以启用https
ports:
- '8929:8929'
- '2289:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
注意:
hostname
替换为你的 GitLab 主机名。external_url
是你 GitLab 访问地址的缩写。将其更改为你希望访问 GitLab 时使用的 URL。如果你想使用 https,请使用external_url 'https://gitlab.example.com:8929'
ports
映射的外部端口对应你的external_url
设置。volumes
挂载目录以保存 GitLab 的配置文件和数据。
$ docker-compose up -d
现在 GitLab 已经可以通过 http://gitlab.example.com:8929
(或者你的 external_url
) 访问了。你可以使用默认的管理员用户名和密码进行登录。
你也可以在命令行中使用 Docker 安装 GitLab。
$ git clone https://github.com/gitlabhq/gitlabhq.git /opt/gitlab
$ cd /opt/gitlab
$ git checkout $(git describe --tags $(git rev-list --tags --max-count=1))
config
的配置文件,并将以下内容复制到文件中:## GitLab生产环境配置文件,从头自己写不如改写默认的配置文件以适应自己的需求
# 修改为实际访问 GitLab 的域名
external_url 'http://localhost:8929'
# 留空时,默认使用 PostgreSQL。当你选择使用 MySQL 时,请取消这个注释。
# 同样也可以选择 MS SQL Server,其中 2017 及以后的版本固定在 /opt/mssql
# 但它未经过完全测试,不建议用于生产环境。
# gitlab向导会初始化整个数据库。注意:mysql不支持 utf8mb4,请使用 PostgreSQL
# 具体请参阅:https://docs.gitlab.com/omnibus/settings/database.html#using-a-non-packaged-database-management-system-rc-only
# 另外,PersonlAccessToken会清空所有访问,需要重新添加
# 详情请参阅:https://gitlab.com/gitlab-org/gitlab/issues/2944
# production:
# db_adapter: mysql2
# db_encoding: utf8mb4
# db_host: localhost
# db_port: 3306
# db_username: root
# db_password: "password"
# db_database: gitlabhq_production
# db_pool: 10
# db_sslmode: disable
gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "unicode"
gitlab_rails['db_host'] = "postgres"
gitlab_rails['db_port'] = "5432"
gitlab_rails['db_username'] = "postgres"
gitlab_rails['db_password'] = "mypassword"
gitlab_rails['db_database'] = "gitlabhq_production"
# Redis 配置,两个 docker 容器使用的是同一网络所以可以用 container name
# 单独配置redis,可以参阅:https://docs.gitlab.com/omnibus/settings/redis.html#using-a-non-packaged-redis-system-rc-only
# production:
# redis_host: localhost
# redis_port: 6379
# redis_password: "yourpassword"
gitlab_rails['redis_host'] = 'redis'
$ docker run --detach \
--hostname gitlab.example.com \
--publish 8929:8929 --publish 2289: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 \
gitlab/gitlab-ce:latest
这会启动 GitLab 并将数据卷挂载到本地目录中。更改 hostname
,修改 docker run
命令中的端口映射以适应你的环境。
现在 GitLab 已经可以通过 http://localhost:8929
访问了。你可以使用默认的管理员用户名和密码进行登录。
使用 Docker 引擎安装 GitLab 是一种快速轻松的安装方法。无论是使用 Docker Compose 还是命令行,这里提供了你需要快速启动 GitLab 的一些最佳实践。
如果你对 GitLab 有一定了解,并且正在使用或者计划使用 GitLab,你可以参考这些最佳实践以优化 GitLab 部署。