Gitlab-runnerでnodeのRunnerを作る話

今回はVue3のプロジェクト用にGitlab-Runnerを作りましたのでそのメモを残しておきたいと思います

Gitlab-runnerを作る

これは公式ドキュメント通りに作ればOKですね

sudo docker run -d --name gitlab-runner-npm --restart always -v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest

公式ドキュメント : https://docs.gitlab.com/runner/install/docker.html

Gitlab-runnerに入る

Dockerの基本なので解説しているところはないですがw
以下のコマンドでDocker内にbashシェルで入れます

sudo docker exec -it gitlab-runner-npm2 /bin/bash

nodeをインストールする…

はい、ここでポイントです。
普通にaptにてnodeを入れるとv10が入ります…
最新がv18なので動かないパッケージがありました。
今回はviteが動きませんでした。
なので、最新のnode v18を手動で入れます

標準では入っていないことを確認…

root@cbed3782cec6:/# node -v
bash: node: command not found
root@cbed3782cec6:/# npm -v
bash: npm: command not found

必要なパッケージをインストールします。
xzアーカイブを利用するのでxz展開ツールを使います

root@cbed3782cec6:/# apt-get update          
root@cbed3782cec6:/# apt-get install xz-utils

最新のnode v18を入手して、展開させればOKです

root@cbed3782cec6:/# wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz
root@cbed3782cec6:/# tar -C /usr/local --strip-components 1 -xJf node-v18.12.0-linux-x64.tar.xz

これで /usr/local/bin/nodeでコマンドが実行されます

root@cbed3782cec6:/# node -v
v18.12.0
root@cbed3782cec6:/# npm -v
8.19.2

はい、次にGitlab-runnerをレジストすれば使えます…

root@cbed3782cec6:/# gitlab-runner register

以下略
ちなみにローカル実行なのでshellで作りました。

Registering runner... succeeded                     runner=GR134894
Enter an executor: docker, docker-ssh, shell, ssh, virtualbox, kubernetes, custom, parallels, docker+machine, docker-ssh+machine:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

動作確認する風のログ

gitlabのvue3のプロジェクトのパイプラインでちゃんと実行されていることをログで確認できればOKです

$ npm install
added 269 packages, and audited 270 packages in 10s
62 packages are looking for funding
  run `npm fund` for details
found 0 vulnerabilities
$ npm run build
> tsundere-book-hp-vue3@0.0.0 build
> run-p type-check build-only
> tsundere-book-hp-vue3@0.0.0 type-check
> vue-tsc --noEmit -p tsconfig.vitest.json --composite false
> tsundere-book-hp-vue3@0.0.0 build-only
> vite build
vite v3.2.2 building for production...
transforming...
warn - The `purge`/`content` options have changed in Tailwind CSS v3.0.
warn - Update your configuration file to eliminate this warning.
warn - https://tailwindcss.com/docs/upgrade-guide#configure-content-sources
✓ 87 modules transformed.
rendering chunks...
dist/index.html                  0.45 KiB
dist/assets/index.b778c217.css   9.10 KiB / gzip: 2.57 KiB
dist/assets/index.9642fb4b.js    111.50 KiB / gzip: 42.55 KiB
Job succeeded

終いに

最近 vue3にてツンデレ本管理システムを一新していますw

ts 、 jsのそれぞれ作ってメンテしやすい方を採用予定ですが…

最初のts部分で結構時間がかかっているというか設計周りまで戻っていますねw