GitLab Runnerでpodmanを使うメモ


GitLab Runner 15.1 からDocker Executorでpodmanが動作するようになったので、動かし方のメモを書いておきます。

環境

項目 バージョン
GitLab EE 16.10.1
GitLab Runner 16.10.0-1

前提条件

  • GitLabとGitLab Runnerは既に構築済みとします
  • ここではGitLab RunnerはShared Runnerとして登録します
  • GitLab Runnerのホストにはpodmanが既にインストール済みとします

GitLab Runner 登録

以下の作業をする前にGitLabの Admin Area にある RunnersNew instance runner で登録するトークンを発行しておいてください。

登録作業

GitLab Runnerで以下のコマンドを実行します。
ExecutorはDokcerを選択します。

gitlab-runner ユーザーのuidを確認します。

/etc/gitlab-runner/config.toml の設定を変更します。

GitLab Runnerを再起動します。

コンテナ内のユーザーをpodmanホストの非特権ユーザーにマップするための設定を追加します。

上記の設定を反映します。

config.toml で設定したソケットを有効化するにはgitlab-runnerでSSHログインして作業をする必要があるためパスワードを設定します。

gitlab-runnerでsshログインします。

gitlab-runnerから抜けるとソケットが削除されるため以下のコマンドを実行して恒久的な設定します。

動作確認

適当なプロジェクトを作成して .gitlab-ci.yml を作成して動作確認をします。

問題なく動作すれば完了です 🙂

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください