GitLab 是一个用于版本控制、项目管理和持续集成的开源软件平台,它提供了一整套工具,能够帮助团队高效地协作开发。而 GitLab Runner 则是 GitLab CI/CD 的执行者,用于运行持续集成和持续交付任务。
在本文中,我们将使用 Docker Compose 来快速部署 GitLab 和 GitLab Runner。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它通过一个 YAML 文件来配置服务的运行方式。
编写 Docker Compose 文件
首先,我们需要创建一个名为 docker-compose.yml 的文件,并将以下内容添加到文件中:
version: '3.8'services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwaysenvironment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |# 对外访问gitlab地址,可以使用本机IPexternal_url 'http://192.168.184.200:9080'gitlab_rails['gitlab_shell_ssh_port'] = 9022ports:- '9080:9080' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问- '9443:443'- '9022:22'volumes:- '/opt/store/gitlab/config:/etc/gitlab'- '/opt/store/gitlab/logs:/var/log/gitlab'- '/opt/store/gitlab/data:/var/opt/gitlab'shm_size: '1g'gitlab-runner:image: 'gitlab/gitlab-runner:latest'container_name: "gitlab-runner"restart: alwaysvolumes:- '/opt/store/gitlab-runner:/etc/gitlab-runner'- '/var/run/docker.sock:/var/run/docker.sock' #这个挂载是将宿主机上的docker socket挂载到了容器内,这样容器内执行的docker命令会被宿主机docker daemon最终执行
在这个 Docker Compose 文件中,我们定义了两个服务:GitLab 和 GitLab Runner。GitLab 服务使用 gitlab/gitlab-ce:latest 镜像,而 GitLab Runner 使用 gitlab/gitlab-runner:latest 镜像。我们设置了各种环境变量、端口映射和卷挂载,以确保 GitLab 和 GitLab Runner 正常运行,并且能够持久化数据。
启动服务
完成 Docker Compose 文件的编写后,我们可以使用以下命令来启动服务:
docker-compose up -d
这将会启动 GitLab 和 GitLab Runner 服务,并且以后台模式运行。你可以使用 docker ps 命令来验证服务是否已经成功启动。
访问 GitLab
一旦服务启动成功,就可以通过浏览器访问 GitLab。在本例中,我们将 GitLab 设置为在 http://192.168.184.200:9080 地址上运行。只需在浏览器中输入该地址,即可访问 GitLab 界面。
第一次登录时,默认用户名是root,其初始密码需要通过以下方式获取:
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
登录成功之后,需要更改初始密码,毕竟那一串初始密码根本记不住(*^_^*)
总结
通过Docker Compose的方式部署GitLab非常方便快捷,下一篇将介绍GitLab自带的CI/CD功能如何使用。