概要
最近 gitlabはCI/CD及びパイプライン(pipeline)機能が入っている。デフォルト設定ではオンになり、既に別のCI/CD環境、もしくは、その機能を(まだ)使いたくない時、その機能を消したい時がある。pipeline/job
が自動的に有効になり、プロジェクトの表示では、余計なパイプラインのアイコンが表示されている。
![]() |
---|
そのアイコンをクリックすると、一覧のパイプラインが表示される。正しくCI/CD設定されていない場合、だいたいエラーで終了した状態である。
機能的は問題はないであるが、さっぱりきれいにしたい。但し、この時点では、webUIでその機能をサポートしていない。ここでAPIを使い、具体的に必要のないパイプラインを削除する方法を説明する。
環境
- gitlab CE 12.1.1
- postman 7.9.0
準備
まず、対象のプロジェクトのメンテナーであることは必要。他に、準備する必要なのは以下である。
- API token
- プロジェクトID
- パイプラインID
それぞれの準備について説明する。
API tokenを取得する方法
gitlabの右上のユーザ・アイコンをクリックし、Setting → Access Tokens
のパネルで、api
を選択し、Create Personal Token
をクリックすれば、個人用のtokenを発行することができる。
![]() |
---|
プロジェクトID
プロジェクトの詳細表示でプロジェクトID
が確認できる。
![]() |
---|
パイプラインIDを確認方法
プロジェクト詳細表示のパイプライのアイクをクリックするもしくは左パネルのCI/CD → Pipelines
から確認できる
![]() |
---|
パイプライン削除する
gitlabに対してREST APIを実施する。curl
もしくは api tool (postman)
等からできる。この例では、postman
の例を示す。
-
Header
にPrivate-Token
のキーを作成し、準備したtokenの値を設定する - メソッドは
DELETE
を選択する - URLは
<gitlabのベースurl>/api/v4/projects/<取得したプロジェクトID>/pipelines/<取得したパイプラインID>
を設定する
![]() |
---|
この状態でSend
ボタンを押すと、該当パイプラインを削除することができる。
パイプラインIDを変更しながら、で全てのパイプライを削除し、パイプライの状態を消すことができる。
![]() |
---|
まとめ
postmanの例でgitlabプロジェクトに必要ないパイプライン削除することについて説明した。postmanではなく、curlなどでも同じことが実施できる。例えば、上の例のcurlは以下です。
curl -X DELETE \
http://10.128.3.50/gitlab/api/v4/projects/85/pipelines/270 \
-H 'Private-Token: <取得したtoken>'