ひでメモ

プログラムについて勉強したことを書きます。たぶん。

GitLab CI でアクセストークンを使いリポジトリをクローンする

GitLab CI でアクセストークンを使いリポジトリをクローンするように変更したので手順のメモです。 元は SSH を使っており鍵の設定が煩雑そうでしたが、アクセストークンの発行・設定は10分くらいでできると思います。

アクセストークンを発行する

メニューの「設定 > アクセストークン」からトークンを発行します。
クローンするだけなら「read_repository」の権限さえあれば大丈夫そうですが別の作業も行っているので「write_repository」も有効にしています。
トークンを発行すると画面上部にトークンが表示されるのでメモしておきます。

なお、トークンを発行すると同じ画面の下部に以下のように表示されます。
発行済のトークンの管理ができるようです。

アクセストークンを CI/CD の変数に設定する

トークンを設定ファイルに直書きするわけにはいかないので環境変数を設定するようなイメージです。

メニューの「設定 > CI/CD」の「変数」にトークンの変数を追加します。
ここで設定した変数は .gitlab-ci.yml の中で変数として使えます。

今回は変数GITLAB_ACCESS_TOKENトークンを設定しました。※変数名はもちろん任意です

アクセストークンを使うように変更する

以下のように書けばアクセストークンを使ってリポジトリをクローンしてくれます。

git clone https://oauth2:$GITLAB_ACCESS_TOKEN@git.hoge.jp/fuga/repo.git working-copy

$GITLAB_ACCESS_TOKENは前の手順で設定した変数を参照しています。