下面我将详细讲解“使用Docker搭建私有GitLab的两种方案”的完整攻略。
一、Docker Compose方案
1. 安装Docker和Docker Compose
首先需要安装Docker和Docker Compose,可以参考官方文档进行安装。在安装完成之后,使用以下命令验证是否安装成功:
$ docker -v
$ docker-compose -v
2. GitLab和PostgreSQL的Docker Compose配置文件
创建一个目录并在其中创建一个docker-compose.yml文件,Docker Compose需要使用这个文件来启动GitLab和PostgreSQL的容器。以下是一个示例的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'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
ports:
- '8929:8929'
- '2289:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
networks:
- gitlab
postgres:
image: 'postgres:11'
restart: always
environment:
POSTGRES_USER: gitlab
POSTGRES_PASSWORD: gitlab
POSTGRES_DB: gitlabhq_production
PGDATA: /var/lib/postgresql/data
volumes:
- '/srv/gitlab/postgresql:/var/lib/postgresql/data'
networks:
- gitlab
networks:
gitlab:
driver: bridge
3. 启动GitLab容器
在创建好docker-compose.yml文件之后,使用以下命令启动GitLab和PostgreSQL容器:
$ mkdir -p /srv/gitlab/{config,logs,data,postgresql}
$ docker-compose up -d
4. 配置GitLab
启动完成之后,访问http://localhost:8929/ (或者 http://ip:8929/),进入GitLab安装页面。根据安装页面提供的步骤进行GitLab的初始化设置,其中需要注意的几个设置项如下:
- Application ID & Secret:在配置GitLab的OAuth应用程序时需要用到。
- Application callback URL:回调URL地址,为 http://localhost:8929/users/auth/oauth2_generic/callback 。
- GitLab hostname: 访问GitLab的主机名,为 gitlab.example.com 。
- GitLab Shell Hostname: GitLab Shell地址,为 gitlab.example.com 。
- IP 或者域名:访问GitLab的域名或IP地址。
其他设置项可根据自己的需求进行配置。
5. 配置GitLab Runner
使用如下命令启动Runner:
$ docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
然后在GitLab中添加Runner并进行相关配置即可。
二、GitLab镜像方案
1. 拉取GitLab镜像
使用以下命令从官方GitLab仓库拉取最新镜像:
$ docker pull gitlab/gitlab-ce:latest
2. 运行GitLab镜像
使用以下命令启动GitLab容器,并将GitLab数据存储到本地目录:
$ mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
$ docker run -d --name gitlab --restart always \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
-p 8929:8929 -p 2289:22 \
gitlab/gitlab-ce:latest
3. 配置GitLab
在启动完成之后,使用管理员账号和密码登录GitLab。
然后点击管理员菜单->Settings->Network(位于左侧面板中)。
输入你的服务器的公共IP或域名,然后点击Save Changes 保存配置。
4. 配置GitLab Runner
使用以下命令启动Runner:
$ docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
然后在GitLab中添加Runner并进行相关配置即可。
以上就是使用Docker搭建私有GitLab的两种方案的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Docker搭建私有GitLab的两种方案 - Python技术站