Windows で GitLab Runner で CI する手順

仕事で使う技術的なこと

Windows 10 で GitLab Runner をインストールして自動ビルドする手順の備忘録です。

Windows に GitLab Runner をインストールする

Install GitLab Runner on Windows | GitLab
GitLab product documentation.

上記を参考にインストールしました。

特につまづく点はなかったのですが、手順としては以下の通りです。

  1. gitlab-runner.exe をダウンロードする
    • ダウンロードリンクは上記サイトに書かれているのでそれを使用しました
  2. こちらに書いてある通り、GitLab の管理者メニューからトークンを取得します(メモします)
  3. GitLab Runner を実行させるフォルダにて ./gitlab-runner.exe register を実行し、GitLab に Runner を登録します
    • 実行すると、GitLab の URL とトークンの入力を求められるので入力します
    • 実行方式の選択を要求されますが、Windows 上で動作させるならば shell と入力します
    • 上記以外は Enter でスキップできます
  4. 以下のコマンドを実行することでサービスに登録します(次回OS起動時から、自動起動してくれるようです)
.\gitlab-runner.exe install
.\gitlab-runner.exe start

GitLab Runner が git clone できるように設定する

私の環境だけかもしれませんが、yaml 書いていざ GitLab Runner で自動ビルドを実行しようとすると、サブモジュールのアップデートで以下のようなメッセージが出てこけました。

fatal: unable to access 'https://github.com/XXXX/XXXXX.git/': error setting certificate verify locations:
  CAfile: C:/Program Files/Git/mingw32/ssl/certs/ca-bundle.crt
  CApath: none

解決が結構難しかったので備忘録しておきます。

.ssh フォルダに cacert.pem を入れる

Windowsのgitでerror setting certificate verify locationsが出た場合 - Qiita
git cloneができなくなった。fatal: unable to access ' error setting certificate verify loc…

上記の記事を参考に、証明書を用意しました。
しかし、これだけでは GitLab Runner はクローン成功してくれませんでした。

config.toml をいじる

CI Runner not working with Windows Shell | error setting certificate verify locations | CI_SERVER_TLS_CA_FILE (#3422) · Issues · GitLab.org / gitlab-runner · GitLab
Summary I follow the guide under Then I had an error. Can...

上記の issue に記載されている方法を使用することで解決しました。

gitlab-runner.exe のあるフォルダと同じ階層に config.toml というファイルがあるのですが、そのファイルを以下のように書き換えました。
environment = ["GIT_SSL_NO_VERIFY=true"] がミソです。

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "XXXXX"
  url = "http://XXXXX:xxxx/"
  token = "XXXXXXXXXXXXXXXXX"
  executor = "shell"
  shell = "cmd"
  environment = ["GIT_SSL_NO_VERIFY=true"]
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

コメント

タイトルとURLをコピーしました