Docker安装Gitlab

小鱼儿 2022-11-21 00:43 429阅读 0赞

文章目录

        • 一、文档
        • 二、安装
          • 1.设置环境变量
          • 2.创建存储目录
          • 3.启动容器
          • 4.配置GitLab实例
        • 三、备份GitLab
        • 四、常见异常

一、文档

  • 官方文档
  • 参考文档
  • 镜像地址

    1. # 选择社区版
    2. docker pull gitlab/gitlab-ce
  • GitLab CI

    1.CI是Continuous Integration的简称,就是持续集成的意思。

    2.每次提交代码都会自动打包一遍。

二、安装

1.设置环境变量

配置环境变量$GITLAB_HOME ,该变量指向配置,日志和数据文件将驻留的目录。确保目录存在并且已授予适当的权限。

  • Linux

    1. export GITLAB_HOME=/srv/gitlab
  • MacOS

    1. vi ~/.bash_profile # 用户级 - 【推荐】
    2. export GITLAB_HOME=$HOME/gitlab
    3. # 配置文件生效
    4. source ~/.bash_profile
2.创建存储目录

























宿主机位置 容器位置 用法
$GITLAB_HOME/data /var/opt/gitlab 用于存储应用程序数据。
$GITLAB_HOME/logs /var/log/gitlab 用于存储日志。
$GITLAB_HOME/config /etc/gitlab 用于存储GitLab配置文件。
3.启动容器
  1. # 80(http)、22(ssh)和443(https)
  2. sudo docker run --detach \
  3. --hostname gitlab.example.com \
  4. --publish 443:443 --publish 80:80 --publish 22:22 \
  5. --name gitlab \
  6. --restart always \
  7. --volume $GITLAB_HOME/config:/etc/gitlab \
  8. --volume $GITLAB_HOME/logs:/var/log/gitlab \
  9. --volume $GITLAB_HOME/data:/var/opt/gitlab \
  10. gitlab/gitlab-ce:latest
  • 查看启动日志

    1. docker logs -f gitlab
4.配置GitLab实例
  • 进入容器

    1. docker exec -it gitlab /bin/bash
  • 编辑配置文件

    1. vi /etc/gitlab/gitlab.rb
    2. external_url 'http://gitliab.cup.com:80' # GitLab服务器的访问地址
    3. nginx['listen_port'] = 80 # 监听端口
    4. gitlab_rails['gitlab_ssh_host'] = 'gitliab.cup.com' # ssh协议地址
    5. gitlab_rails['gitlab_shell_ssh_port'] = 22 # ssh协议端口
  • 重新加载配置

    1. gitlab-ctl reconfigure
    2. # 或者重启GitLab :docker restart gitlab

三、备份GitLab

  1. docker exec -t <container name> gitlab-backup create

四、常见异常

  • 500内部错误

    1. docker restart gitlab
  • 权限问题

    1. docker exec gitlab update-permissions
    2. docker restart gitlab

发表评论

表情:
评论列表 (有 0 条评论,429人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Docker 安装 Gitlab

    Gitlab简介 [GitLab][]是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码。传统方式是手动下载