このブログを検索

この記事の内容は、個人の見解、検証の範囲のものであり、誤りがある可能性があります。
個人の責任において情報活用をお願いします。


2026年4月30日木曜日

GitLab と GitLab Runner を連携させて CI/CD っぽいことをしてみる その1

今回から、GitLab と GitLab Runner を構築し連携させて、GitLab のプロジェクトにあるファイルを更新をトリガーに GitLab Runner を動かして何かさせてみようと思います。

参考:https://docs.gitlab.com/ja-jp/install/package/ubuntu/?tab=Community+Edition

環境
OS:Ubuntu 24.04.2
DNSを利用して名前解決可能な状態

まず、作成済みの Ubuntu を使って GitLab のコミュニティエディション(CE)構築を行います。
SSH等でログインしてください。

権限などが必要になるので root になります。
sudo su -
インストールに必要なリポジトリの追加を行います。
curl --location "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh" | sudo bash
gitlabをhttpsで利用したいので、自己証明書を用意します。
自己証明書用のディレクトリ作成
mkdir -p /etc/gitlab/ssl
権限を変更します。
chmod 755 /etc/gitlab/ssl
事故証明書を作成します。
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
  -keyout /etc/gitlab/ssl/demo-gitlab.key \
  -out /etc/gitlab/ssl/demo-gitlab.crt \
  -subj "/CN=" \
  -addext "subjectAltName = DNS:,"
聞かれる質問に対しては Common Name だけgitlabサーバーのFQDNを入れます。
この証明書を読み込んでもらえるように通常はインストール処理の中で作られる設定ファイルを先に作って証明書を指定します。

ディレクトリの作成
mkdir -p /etc/gitlab
ファイルの作成
touch /etc/gitlab/gitlab.rb
権限の変更
chmod 600 /etc/gitlab/gitlab.rb
作成した gitlab.rb に以下の内容を記入します
# URLを https に変更
external_url 'https://'

# Let's Encryptは使わないので false
letsencrypt['enable'] = false

# 証明書のパスを明示的に指定
nginx['ssl_certificate'] = "/etc/gitlab/ssl/demo-gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/demo-gitlab.key"
インストールを実行します。
apt install gitlab-ce
GitLabにログインするために必要な root のパスワードを確認します。
1日くらいでファイルが削除されるのでさっさとログインして初期パスワードを変更しましょう。
cat /etc/gitlab/initial_root_password
パスワードが確認出来たらログインします。
日本語化するため右上のアイコンをクリックし「Preferences」を選択します。
右側のスクロールバーを下に下げ「Localization」の「Lunguage」から日本語を選びます。
一番下の「Save changes」をクリックして設定を保存します。
忘れずにパスワードも任意のものを設定しておきましょう。
因みに、アップデートの通知が毎回出てきて煩わしいときがあると思いますが、その場合はここのチェックを外しましょう。
「管理者」ボタンがあるのでそれを押して管理者モードになり「設定」の「メトリックスとプロファイリング」から「使用状況の統計」をひらくとあります。
次回はこの GitLab と連携する GitLab Runner の構築を行おうと思います。