Ubuntu に GitLab Runner をインストールする
(コンテナでは無い) Ubuntu を GitLab の Runner として登録する方法は Install GitLab Runner manually on GNU/Linux に記載されています。 今回は Runner 登録方法の要点だけをメモしておきます。
検証環境¶
対象 | バージョン |
---|---|
Ubuntu | 22.04.4LTS |
gitlab-runner | 16.10.0 |
Runner のインストールと実行¶
Runner として登録したい Ubuntu 上で以下のコマンドを実行して Runner のクライアントをインストールします。
curl -L --output /usr/local/bin/gitlab-runner "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-linux-amd64" && \
chmod 755 /usr/local/bin/gitlab-runner
標準ユーザを利用する場合¶
Runner 実行専用ユーザ (gitlab-runner
) を作成し、そのユーザで Runner を実行します。 但し、Install GitLab Runner manually on GNU/Linux の手順で作業すると GitLab 上から実行した Job が以下のエラーで終了してしまいます。
ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information
この問題を回避する為、gitlab-runner
ユーザのホームディレクトリにある .bash_logout
を無効化します。 このファイルを削除しても良いのですが、今回は移動 (名前の変更) をすることで無効化します。尚、mv /home/gitlab-runner/.bash_logout{,.org}
は mv /home/gitlab-runner/.bash_logout /home/gitlab-runner/.bash_logout.org
と等価です。
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash && \
mv /home/gitlab-runner/.bash_logout{,.org} && \
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner && \
gitlab-runner start
これで Runner の実行は完了です。 systemctl status gitlab-runner.service
でサービスの状態を確認すると自動起動設定もされていました。
# systemctl status gitlab-runner.service
● gitlab-runner.service - GitLab Runner
Loaded: loaded (/etc/systemd/system/gitlab-runner.service; enabled; vendor preset: enabled)
尚、現時点ではバージョン 16.10.0 がインストールされました。
# gitlab-runner --version
Version: 16.10.0
Git revision: 81ab07f6
Git branch: 16-10-stable
GO version: go1.21.7
Built: 2024-03-21T19:43:25+0000
OS/Arch: linux/amd64
root ユーザを利用する場合¶
以下を実行します。
1 2 |
|
GitLab への Runner 登録¶
Docker Compose で GitLab / Runner を起動し、CI/CD する の手順に従い、Runner を登録します。 GitLab 上でトークンを発行したら Runner を実行している Ubuntu 側で「GitLab の URL」と「発行された Token」を指定しつつ、以下のように実行します。 実際には GitLab 上で「実行すべきコマンド」が表示されますので、それを Ubuntu 側へ貼り付けて実行するだけです。
gitlab-runner register --url http://10.0.0.1 --token glrt-12345678901234567890