CICD GitLab Server

Gitlab CI/CDでパイプライン実行手順

2023年1月17日


GitlabのCI/CD機能を使用したパイプラインの実行手順を記載します。

事前準備

事前にGitlabでCI/CD用の新規プロジェクトを作成しておきます。
ローカルにクローンしておきます。
プロジェクト用のディレクトリを作成しておきます。


$ mkdir -p /home/work/ci-test
$ cd /home/work/ci-test
$ git clone http://192.168.9.10:2080/root/ci-test.git

docker-composeファイルの作成、起動

ワークディレクトリを作成して、以下docker-composeファイルを作成します。
その後、up -dでビルド、起動まで行います。


$ mkdir /home/gitlab-runner
$ cd /home/gitlab-runner
$ vi docker-compose.yaml
-------------
version: '3'
services:
  runner:
    image: gitlab/gitlab-runner:v13.12.0
↑↑バージョンはgitlabと合わせる
    tty: true
    container_name: docker-executor
    restart: always
    environment:
      - REGISTER_NON_INTERACTIVE=true
      - CI_SERVER_URL= "192.168.9.10:2080/"
      - REGISTRATION_TOKEN= "xxxxxxxxxxxxxxxxx"
↑↑Specific runnersのRegistration tokenを記述
      - RUNNER_EXECUTOR=docker
      - RUNNER_TAG_LIST=docker
      - RUNNER_NAME=Docker Executor (Docker socket building)
      - RUNNER_LIMIT=1
      - DOCKER_IMAGE=docker:latest
      - DOCKER_VOLUMES=/var/run/docker.sock:/var/run/docker.sock
    volumes:
      - /srv/gitlab-runner/config:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
-------------

REGISTRATION_TOKENは以下に記載されています。

  1. gitlabのGUIコンソールにログイン
  2. Settings->CI/CD
  3. Specific runners箇所の「And this registration token」

コンテナの立ち上げ

docker-ompose.yamlのあるフォルダで以下を実行します。


$ sudo docker-compose up -d
$ sudo docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS                              PORTS                                                                                               NAMES
5f8dd5b296b2   gitlab/gitlab-runner:v13.12.0   "/usr/bin/dumb-init …"   8 minutes ago   Up 8 minutes                                                                                                                            docker-executor
c9b986113e7d   gitlab/gitlab-ee:13.10.2-ee.0   "/assets/wrapper"        3 days ago      Up 2 days (healthy)                 80/tcp, 443/tcp, 0.0.0.0:2080->2080/tcp, :::2080->2080/tcp, 0.0.0.0:2022->22/tcp, :::2022->22/tcp   gitlab_web_1

コンテナがUpの状態となっていることを確認します。

runnerの登録

コンテナに入り、runnerを登録します。


$ sudo docker exec -it docker-executor bash
# gitlab-runner register
# cat /etc/gitlab-runner/config.toml

config.tomlが作成されていることを確認

register時にエラー
ERROR: Registering runner… error runner=”GsviNnx status=parse “192.168.9.10:2080/”/api/v4/: first path segment in URL cannot contain colon
PANIC: Failed to register the runner. You may be having network problems.

CATEGORIES & TAGS

CICD, GitLab, Server,

Author:

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
LPIC303 Security

年収訴求

%d人のブロガーが「いいね」をつけました。