とりいそぎ備忘録です。
gitlab-ci や gitlab runner が何なのかはここでは省略します。
動作環境
gitlab-ci 側
gitlab.com を使わせてもらいます。本当はローカル環境で構築したかったんですが、前回 Docker 上で動作させることができなかったので一旦断念しています。
gitlab runner 側
Windows 10 Home 64bit です。
前提
gitlab のアカウント登録および CI 実行するリポジトリはあらかじめ作っておきます。
今回は https://gitlab.com/tassi-yuzukko/gitlab_ci_test にテストリポジトリを用意しました。
今回の目標
とりあえず連携させて、 gitlab runner が動くところまでを目標とします。
gitlab ci と gitlab runner の関係

gitlab runner を Windows へ導入
DL と インストール
以下からDLします。
- 32bit:
https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-386.exe - 64bit:
https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-amd64.exe
DLしたら、好きなところに配置します。インストール作業は不要で、exe オンリーみたいです。
今回はとりあえず C:\gitlab-runner においてみました。
参考
gitlab runner の設定
gitlab ci の確認
gitlab runner の設定に当たり、まず gitlab ci のリポジトリの設定を見に行きます。(つまり、gitlab のプロジェクトページを見に行きます)
「CIをするプロジェクトページ > Settings > CI/CD > Runners settings > Expand」を開く。

「Setup a specific Runner manually」に、 URL と token が書いてあります。

ここをとりあえず確認した状態で、 gitlab runner の設定に移ります。
gitlab runner の設定
先ほど exe を配置したフォルダで、コマンドプロンプトを管理者権限で起動し、以下の通り設定していきます。
> gitlab-ci-multi-runner-windows-amd64.exe register
gitlab-ci の URL登録
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

GitLab - Speed with control for agentic software engineeringTeams and agents ship trusted software faster with GitLab, the intelligent orchestration platform with context and governance for the entire software lifecycle.
token の設定
Please enter the gitlab-ci token for this runner:
j6JrxFKU3dXS9y8dBc4U
runner の名前の設定
→gitlab-ci 上に表示される識別子的なものです。好きなものでOK
Please enter the gitlab-ci description for this runner:
[XXX-PC]: for the CI test
タグの指定
→今のところよくわかっていません。
とりあえず省略可能(何も入力せず Enter 可能)のようです。
カンマ区切りで複数指定が可能らしいです。
Please enter the gitlab-ci tags for this runner (comma separated):
runner を現在のプロジェクトにロックするかどうか?
→こちらもよくわかっていません。とりあえず true にしておきました。
Whether to lock Runner to current project [true/false]:
[false]: true
Registering runner... succeeded [0;m runner[0;m=j6JrxFKU
Executor の設定
→とりあえず shell (=Windows でいうとコマンドプロンプト)で動作確認します。
後々は Docker とかにすると便利な気がします。
Please enter the executor: kubernetes, shell, docker+machine, parallels, ssh, virtualbox, docker-ssh+machine, docker, docker-ssh:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded
参考
gitlab-runner の環境構築をしてみた – Qiita
動作確認
.gitlab-ci.yml の用意
プロジェクトに .gitlab-ci.yml を作成し、コミット→プッシュすることで、 gitlab-ci が実行され、 gitlab runner のジョブが走るようです。
ですので、とりあえずテスト用プロジェクトに、テスト用の yaml ファイルを以下のように作りました。
# .gitlab-ci.yml
job1:
script: "echo execute-script-for-job1"
job2:
script: "echo execute-script-for-job2"
これは、単純に2つのコマンドプロンプトに execute-script-for-job1 と execute-script-for-job2 がそれぞれ表示されるというジョブです。
これをコミット→プッシュします。
gitlab-ci の確認
gitlab のプロジェクトを見に行き、「CI/CD → Pipelines」でジョブが走っていることを確認します。
成功していれば、 passed と表示されます。

備考
コマンドプロントの文字コード設定
直接は関係ないですが、最初は gitlab 上での表示が文字化けしていました。

下記サイトにあるように、コマンドプロンプトの文字コードを変更する必要があります。
今回はレジストリの変更を採用してやってみると、gitlab 上の表示は直りました。

コメント