momo's Blog.

gitlab runner 使用 dind

字数统计: 226阅读时长: 1 min
2023/06/13 Share

前言

gitlab 使用 dind

安装docker

1
2
3
4
5
6
7
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

systemctl start docker
systemctl enable docker

安装runner

docker runner

https://docs.gitlab.com/runner/install/docker.html

1
2
3
4
5
docker run -d --name gitlab-runner --restart always \
--env TZ=Asia/Shanghai \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

注册

在gitlab-runner 内部, 执行

1
2
3
4
5
6
7
8
9
gitlab-runner register -n \
--url https://gitlab.com/ \
--registration-token REGISTRATION_TOKEN \
--executor docker \
--description "My Docker Runner" \
--docker-image "docker:20.10.16" \
--docker-privileged \
--docker-pull-policy "if-not-present" \
--docker-volumes "/certs/client"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
image: docker:20.10.16

variables:
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_REGISTRIES: aaa/develop aaaaaa/aaaaa
IMAGE_TAG: ${CI_PROJECT_NAME}:${CI_PIPELINE_IID}

stages:
- build
- deploy

services:
- docker:20.10.16-dind

build:
before_script:
- docker login -u $CI_SRE_USER -p $CI_SRE_PASSWORD sre
stage: build
script:
- docker build -t default:$CI_COMMIT_SHA .
- for rc in ${DOCKER_REGISTRIES}; do docker tag default:$CI_COMMIT_SHA ${rc}/${IMAGE_TAG} && docker push ${rc}/${IMAGE_TAG};done
tags:
- docker

deploy:
stage: deploy
image: centos:centos7.9.2009
script:
- pwd
- bash -ex ./.deploy/run.sh
only:
- master
tags:
- docker
CATALOG
  1. 1. 前言
  2. 2. 安装docker
  3. 3. 安装runner
    1. 3.1. docker runner
    2. 3.2. 注册