概要
今回は shell-executor として登録します
基本は ds64 モードで勧めていますが aarch64 でもインストールできます
環境
- RaspberryPi4 8GRAM
- RaspberryPiOS 5.10.17 armv7l
ds64-shell の起動
作業は 64bit 環境で行います
- ds64-shell
curl, wget のインストール
- sudo apt -y install curl wget
証明書系のツールインストール
libgnutls30 もインストールします
これがないと git clone 時にエラーになります
- sudo apt -y install apt-transport-https ca-certificates libgnutls30
gitlab-runner のインストール
Gitlab の公式のリポジトリからインストールします
ds64 環境ではない 64bit 環境 (aarch64) ではこの手順から実行します
-
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
- sudo apt-get install gitlab-runner
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
docker-engine
The following NEW packages will be installed:
gitlab-runner
0 upgraded, 1 newly installed, 0 to remove and 90 not upgraded.
Need to get 437 MB of archives.
After this operation, 476 MB of additional disk space will be used.
Get:1 https://packages.gitlab.com/runner/gitlab-runner/debian buster/main arm64 gitlab-runner arm64 14.5.0 [437 MB]
Fetched 437 MB in 2min 10s (3,375 kB/s)
Selecting previously unselected package gitlab-runner.
(Reading database ... 38144 files and directories currently installed.)
Preparing to unpack .../gitlab-runner_14.5.0_arm64.deb ...
Unpacking gitlab-runner (14.5.0) ...
Setting up gitlab-runner (14.5.0) ...
GitLab Runner: creating gitlab-runner...
Home directory skeleton not used
Runtime platform arch=arm64 os=linux pid=2632 revision=f0a95a76 version=14.5.0
gitlab-runner: the service is not installed
Runtime platform arch=arm64 os=linux pid=2643 revision=f0a95a76 version=14.5.0
gitlab-ci-multi-runner: the service is not installed
Runtime platform arch=arm64 os=linux pid=2673 revision=f0a95a76 version=14.5.0
Runtime platform arch=arm64 os=linux pid=2721 revision=f0a95a76 version=14.5.0
INFO: Docker installation not found, skipping clear-docker-cache
runner の登録
Gitlab の URL とトークンを入力して登録します
executor は「shell」を入力しましょう
- sudo gitlab-runner register
また gitlab-runner ユーザに gpio 関連を操作できるように権限を与えます
- sudo usermod -aG gpio gitlab-runner
動作確認
プロジェクトに以下のような .gitlab-ci.yml を登録して成功するか確認しましょう
stages:
- stage1
- stage2
.echo1_script: &echo1_script
- "export MSG=hello"
- "echo ${MSG}"
- "export MSG=HELLO"
.echo2_script: &echo2_script
- "echo ${MSG}"
echo:
image:
name: alpine:latest
stage: stage1
script:
- *echo1_script
- *echo2_script
停止する場合は ds64-shell で
- sudo systemctl stop gitlab-runner
再度起動する場合は ds64-shell で
- sudo systemctl start gitlab-runner
します
トラブルシュート
server certificate verification failed. CAfile:
/home/gitlab-runner/builds/QopMjzNB/0/root/project1.tmp/CI_SERVER_TLS_CA_FILE CRLfile: none
が出る場合は libgnutls30 がちゃんとインストールされているか確認しましょう
エラー文でググると証明書を自分で作成したりする記事が出てきますがそれだとダメなので気をつけましょう
Gitlab と通信できるようにファイアウォールなどの設定も確認しましょう
最後に
少しハマるポイントがありましたがインストールして動作しました
ds64 モードで紹介しましたが普通に armv7 でも動くかもしれません
0 件のコメント:
コメントを投稿