以前 Docker を使って gitlab-runner をインストールしましたが、業務上 Windows 上で gitlab-runner を動かしたいことがあったので、Windows に gitlab-runner をインストールしました。
基本的に以下の公式ページで全て解説されています。
環境
- gitlab-runner 10.2.0
ホストは以下の2つで試しました。
- Windows 7 Professional (32 bit)
- Windows 10 Pro (64 bit)
ダウンロード
公式サイトからダウンロードできます。
ダウンロードしたら適当なフォルダに配置します。
今回は公式に合わせて C:\GitLab-Runner
に配置しました。
配置したらファイル名を gitlab-runner.exe
にリネームします。
環境変数の設定
環境変数の PATH
に C:\GitLab-Runner
を追加します。
これでコマンドプロンプトから gitlab-runner
コマンドが使えるようになります。
インストール
まずはコマンドプロンプトを管理者として起動します。
Win
キーを押し、cmd
を検索し、右クリックで [管理者として実行] を選択します。
以下のコマンドを入力して Windows サービスとして gitlab-runner を動作させます。
> gitlab-runner install
> gitlab-runner start
しかし、これだと root で実行されてしまうため、実際に GitLab CI として動作させるときにコマンドが実行されなかったりしました。
なので、ユーザーを指定してインストールします。
こちらの記事にあるとおり、ユーザー名を指定すると上手くいかないので、パスワードだけ指定し、現在ログイン中のユーザーでインストールします。
> gitlab-runner install --password パスワード
> gitlab-runner start
しかし、私の環境では %USERPROFILE%
などのパスが root のままだったので、以下の設定を行いました。
- [コントロールパネル] > [管理ツール] > [サービス] を起動
- 一覧から
gitlab-runner
を探し、右クリックしてプロパティを選択 - [ログオン] タブで [アカウント] を選択し、ユーザーアカウントを入力
- [サービス] の画面で
gitlab-runner
を右クリックして再起動する
GitLab への登録
gitlab-runner のインストールが完了したら、GitLab にタスクランナーとして登録します。
基本的には Linux の場合と同様ですが、executor は shell
を指定します。
あとは description や tag で Windows であることがわかるようにするくらいですね。
>gitlab-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
Please enter the gitlab-ci token for this runner
xxx
Please enter the gitlab-ci description for this runner
[hostame] windows
Please enter the gitlab-ci tags for this runner (comma separated):
windows
Whether to run untagged jobs [true/false]:
[false]: true
Whether to lock Runner to current project [true/false]:
[true]: false
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell
設定が完了したら GitLab の [Admin Area] > [Overview] > [Runners] でランナーが登録されていることを確認します。
アンインストール
gitlab-runner stop
gitlab-runner uninstall
最後に GitLab-Runner のフォルダを削除すれば OK です。