docker安装gitlab gitlabrunner cicd
时间: 2025-01-02 15:12:27 浏览: 7
### 如何在 Docker 中安装配置 GitLab 和 GitLab Runner 实现 CI/CD 流水线
#### 使用 Docker 安装 GitLab
为了实现 CI/CD 流水线,首先需要通过 Docker 来部署 GitLab 版本 `16.2.3-jh`。这可以通过拉取官方镜像并启动容器完成。
```bash
docker pull gitlab/gitlab-ce:16.2.3-jh
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:16.2.3-jh
```
上述命令会创建一个新的 GitLab 实例,并将其绑定到主机上的端口 80, 443 和 22[^1]。
#### 配置 GitLab Runner
一旦 GitLab 成功运行,在同一台机器或其他服务器上可以继续安装 GitLab Runner 版本 `16.2.0` 并连接至已有的 GitLab 实例。此过程涉及下载合适的二进制文件以及注册该服务:
```bash
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo apt-get install gitlab-runner
```
接着利用之前获取的 URL 和令牌来注册新的 Runner:
```bash
sudo gitlab-runner register --url http://<your_gitlab_url> --registration-token <your_registration_token>
```
这里 `<your_gitlab_url>` 应替换为实际地址而 `<your_registration_token>` 则由 GitLab 提供[^4]。
#### 设置 CI/CD Pipeline
当 GitLab 和 GitLab Runner 均准备就绪之后,可以在项目仓库内定义 `.gitlab-ci.yml` 文件以描述具体的构建流程。例如下面展示了一个简单的 Python Web 应用程序持续集成脚本片段:
```yaml
stages:
- test
- python manage.py test
build_image:
stage: build
script:
- docker build -t myapp:$CI_COMMIT_REF_NAME .
deploy_to_production:
only:
- echo Deploying application...
```
这段 YAML 描述了三个阶段的任务——测试、构建和部署,并指定了每个任务的具体操作[^3]。
阅读全文