手机网站一定要与pc网站一样,网站排名优化推广,阿克苏网站建设服务,雅安市建设工程招投标网站使用docker compose安装gitlab GitLab简介设置GITLAB_HOME路径创建docker挂载目录获取可用的GitLab版本编写docker-compose.yml文件启动docker基础配置GITLAB_OMNIBUS_CONFIG修改配置 中文设置数据库配置系统邮箱配置 GitLab简介
GitLab是一个基于Git的开源项目#xff0c;… 使用docker compose安装gitlab GitLab简介设置GITLAB_HOME路径创建docker挂载目录获取可用的GitLab版本编写docker-compose.yml文件启动docker基础配置GITLAB_OMNIBUS_CONFIG修改配置 中文设置数据库配置系统邮箱配置 GitLab简介
GitLab是一个基于Git的开源项目旨在帮助团队更高效地合作和开发软件。它使用Ruby on Rails框架构建提供了一个自托管的Git仓库管理工具支持版本控制、代码审查、持续集成和持续部署等功能。
主要功能包括
- 版本控制用户可以创建分支、合并代码并处理冲突确保代码的历史和变更管理得当。 - 代码审查团队成员可以通过拉取请求Pull Requests对提交的代码进行评论和讨论确保代码质量。 - 持续集成/持续部署CI/CDGitLab内置了CI/CD功能支持自动化的构建、测试和部署流程提高开发效率。 - 项目管理通过Issue跟踪、看板、里程碑等功能帮助团队管理项目进度和任务。
GitLab还提供了权限管理和审计日志确保代码的安全性和合规性适用于从小型开源项目到大型企业级应用的各种规模团队。 GitLab是实现 DevOPS 自动化开发运维流水线的经典工具。
设置GITLAB_HOME路径
先设置一个 GITLAB_HOME 环境变量为gitlab的工作目录。有2个方式 写入环境变量配置文件推荐。在 docker-compose.yml 文件的同级目录创建 .env 文件。写入 GITLAB_HOME/srv/gitlab 添加到shell的启动配置文件中。echo GITLAB_HOME/srv/gitlab ~/.bash_profile
通过第2种方式添加配置后使用 source ~/.bash_profile 命令使配置生效
创建docker挂载目录
进入上一步骤设置的 $GITLAB_HOME 目录中新建 data, logs, config 个文件夹。
如下所示
宿主机目录容器内部目录说明$GITLAB_HOME/data/var/opt/gitlabStores application data.$GITLAB_HOME/logs/var/log/gitlabStores logs.$GITLAB_HOME/config/etc/gitlabStores the GitLab configuration files.
获取可用的GitLab版本
# 镜像名格式
gitlab/gitlab-ce:version-ce.0# 指定固定版本镜像
gitlab/gitlab-ce:17.6.2-ce.0# 使用最新版本镜像
gitlab/gitlab-ce:latest编写docker-compose.yml文件
docker-compose.yml:
version: 3.6
services:gitlab:image: gitlab/gitlab-ce:17.6.2-ce.0container_name: gitlabrestart: alwayshostname: gitlab.example.comenvironment:GITLAB_OMNIBUS_CONFIG: |external_url http://gitlab.example.com:8929gitlab_rails[gitlab_shell_ssh_port] 2424ports:- 8929:8929- 443:443- 2424:22volumes:- $GITLAB_HOME/config:/etc/gitlab- $GITLAB_HOME/logs:/var/log/gitlab- $GITLAB_HOME/data:/var/opt/gitlabshm_size: 256m通过 GITLAB_OMNIBUS_CONFIG 环境变量配置 external_url 参数设定仓库的HTTP地址。
ports 的端口映射以 GITLAB_OMNIBUS_CONFIG 的相关配置项为准。
启动docker
docker compose up -d容器首次启动需要数分钟的时间请耐心等待。 启动成功后容器状态由 (health: starting) 变为 (healthy)。如下所示
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
gitlab gitlab/gitlab-ce:17.6.2-ce.0 /assets/wrapper gitlab 2 hours ago Up 12 seconds (health: starting) 0.0.0.0:443-443/tcp, :::443-443/tcp, 80/tcp, 0.0.0.0:8929-8929/tcp, :::8929-8929/tcp, 0.0.0.0:2424-22/tcp, [::]:2424-22/tcpNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
gitlab gitlab/gitlab-ce:17.6.2-ce.0 /assets/wrapper gitlab 3 hours ago Up 51 minutes (healthy) 0.0.0.0:443-443/tcp, :::443-443/tcp, 80/tcp, 0.0.0.0:8929-8929/tcp, :::8929-8929/tcp, 0.0.0.0:2424-22/tcp, [::]:2424-22/tcp查看容器运行日志
sudo docker logs -f gitlab通过前面配置的 external_url访问 GitLab 项目地址登录root账号。
用户名为 root用户密码查看文件宿主机的 $GITLAB_HOME/config/initial_root_password 或容器内的 /etc/gitlab/initial_root_password
注The password file is automatically deleted in the first container restart after 24 hours.
基础配置
GITLAB_OMNIBUS_CONFIG
GITLAB_OMNIBUS_CONFIG 环境变量允许预设 gitlab.rb 文件的配置项。 具有以下特点
比容器内的 gitlab.rb 配置文件更先被读取。只会在系统启动时被加载而不会直接修改 gitlab.rb 文件。允许设置多个配置项使用 ; 符号隔开。
配置可包含 GitLab项目地址数据库配置等。具体请见: gitlab.rb文件配置模板
external_url项目主页。如http://gitlab.example.com:8929gitlab_rails[gitlab_shell_ssh_port]SSH端口。如2424gitlab_rails[initial_root_password]: 项目初始化时预设的root用户密码。
项目首次启动时也可在容器内注入环境变量 GITLAB_ROOT_PASSWORD 预设 root 用户的登录密码。
Docker运行命令如下所示
sudo docker run --detach \--hostname gitlab.example.com \--env GITLAB_OMNIBUS_CONFIGexternal_url http://gitlab.example.com:8929; gitlab_rails[gitlab_shell_ssh_port] 2424 \--publish 8929:8929 --publish 2424:22 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \gitlab/gitlab-ce:version-ce.0修改配置
进入容器sudo docker exec -it gitlab /bin/bash修改配置文件editor /etc/gitlab/gitlab.rb重载配置gitlab-ctl reconfigure
中文设置 全局设置左下角菜单 Admin点击Settings - Preferences。 页面找到 Localization - Default language 用户个性化设置点击左上角用户头像下拉框选择 Preferences。页面找到 Localization - Language
当前用户一定是更改 用户个性化设置才能生效
在页面右上方的用户菜单中选择“Settings”。 进入Settings页面后点击左侧导航栏中的“Preferences”选项。 在Preferences页面中找到“Localization”区域将“Language”选项修改为“简体中文”。 点击页面下方的“Save changes”按钮保存语言设置。
数据库配置
自 GitLab 16.0 起GitLab默认使用2个数据库连接。我们可以禁用回到原始的单连接模式。
sudo docker exec -it gitlab editor /etc/gitlab/gitlab.rb
gitlab_rails[databases][ci][enable] false
sudo docker restart gitlab系统邮箱配置
修改配置文件/etc/gitlab/gitlab.rb重载配置使其生效gitlab-ctl reconfigure
gitlab_rails[smtp_enable] true
gitlab_rails[smtp_address] smtp.server
gitlab_rails[smtp_port] 465
gitlab_rails[smtp_user_name] smtp user
gitlab_rails[smtp_password] smtp password
gitlab_rails[smtp_domain] example.com
gitlab_rails[smtp_authentication] login
gitlab_rails[smtp_enable_starttls_auto] true
gitlab_rails[smtp_openssl_verify_mode] peer# If your SMTP server does not like the default From: gitlablocalhost you
# can change the From with this setting.
gitlab_rails[gitlab_email_from] gitlabexample.com
gitlab_rails[gitlab_email_reply_to] noreplyexample.com# If your SMTP server is using a self signed certificate or a certificate which
# is signed by a CA which is not trusted by default, you can specify a custom ca file.
# Please note that the certificates from /etc/gitlab/trusted-certs/ are
# not used for the verification of the SMTP server certificate.
gitlab_rails[smtp_ca_file] /path/to/your/cacert.pem示例QQ exmail (腾讯企业邮箱)
gitlab_rails[smtp_enable] true
gitlab_rails[smtp_address] smtp.exmail.qq.com
gitlab_rails[smtp_port] 465
gitlab_rails[smtp_user_name] xxxxxx.com
gitlab_rails[smtp_password] password
gitlab_rails[smtp_authentication] login
gitlab_rails[smtp_enable_starttls_auto] false
gitlab_rails[smtp_tls] true
gitlab_rails[gitlab_email_from] xxxxxx.com
gitlab_rails[smtp_domain] exmail.qq.comhttps://docs.gitlab.com/17.6/ee/install/docker/installation.html Steps after installing GitLab: https://docs.gitlab.com/17.6/ee/install/next_steps.html