跳到内容
欧德之怒的博客
返回

【Gitlab-CICD-一】Docker-Compose方式安装Gitlab

编辑此页

说明

步骤

前置

资源要求

目录准备

# 存放gitlab的compose目录
mkdir -p /data/gitlab
# 创建compose文件
touch /data/gitlab/docker-compose.yml
# gitlab的数据存放目录
mkdir -p /data/gitlab/config
mkdir -p /data/gitlab/data
mkdir -p /data/gitlab/logs

安装

docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 network-test
services:
  gitlab:
     # 使用的gitlab镜像
    image: gitlab/gitlab-ce:16.7.3-ce.0
     # 自定义的容器名称
    container_name: gitlab
     # 启动策略
    restart: unless-stopped
     # 特权模式,允许一些root权限的操作
    privileged: true
     # hostname设置
    hostname: 'gitlab'
    # 环境设置,gitlab自定义配置大多使用环境变量控制
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://test.gitlab.com:8181'
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['smtp_enable'] = 'true'
        gitlab_rails['smtp_address'] = 'smtp.qq.com'
        gitlab_rails['smtp_port'] = '465'
        gitlab_rails['smtp_user_name'] = 'xxx@qq.com'
        gitlab_rails['smtp_password'] = 'xxx'
        gitlab_rails['smtp_domain'] = 'qq.com'
        gitlab_rails['smtp_authentication'] = 'login'
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = false
        gitlab_rails['gitlab_email_from'] = 'xx@qq.com'
        gitlab_rails['gitlab_ssh_host'] = 'test.gitlab.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 22
    volumes:
     # 这三个目录必须挂载,这三个是gitlab的动态数据
     # 挂载后支持dockcer compose进行down再up后数据不丢失
      - './config:/etc/gitlab'
      - './data:/var/opt/gitlab'
      - './logs:/var/log/gitlab'
    ports:
      # 映射ssh clone方式的端口到宿主机
      - '22:22'
      # 映射http clone方式的端口到宿主机
      - '80:80'
     # 共享内存大小,建议至少256m起步
    shm_size: '256m'
    networks:
      network-test:
         # 设置一个静态ip地址
        ipv4_address: "172.18.0.8"
networks:
  network-test:
    external: true
cd /data/gitlab
docker compose up -d
# 宿主机上执行命令进入容器
docker exec -ti gitlab bash
# 文件路径
vi /etc/gitlab/gitlab.rb
# 例子,如修改ssh端口为2222
# 对应的docker-compose.yml中的端口也需要修改,否则宿主机无法映射
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# 配置生效
gitlab-ctl reconfigure
# 重启生效
gitlab-ctl restart
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

升级

docker gitlab的升级一般类似其他方式升级,都需要按照官方的版本升级图,官方升级参考

docker exec -ti gitlab gitlab-rake gitlab:backup:create
cd /data/gitlab
docker compose down
docker compose up -d

参考文档

Gitlab官方Docker安装指导 Gitlab官方升级指导 Docker部署的gitlab升级指南 Docker部署gitlab(避坑版) Nas码农篇:群晖Docker安装Gitlab


编辑此页
分享这篇文章:

上一篇
【Windows】Scoop
下一篇
【Gitlab-CICD-三】Docker设置支持跨架构镜像构建