LoginSignup
3
2

More than 3 years have passed since last update.

gitlabプロジェクトの不要なプイプラインを削除する方法

Posted at

概要

最近 gitlabはCI/CD及びパイプライン(pipeline)機能が入っている。デフォルト設定ではオンになり、既に別のCI/CD環境、もしくは、その機能を(まだ)使いたくない時、その機能を消したい時がある。pipeline/jobが自動的に有効になり、プロジェクトの表示では、余計なパイプラインのアイコンが表示されている。

gitlab_capture_01.png

そのアイコンをクリックすると、一覧のパイプラインが表示される。正しく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を発行することができる。

gitlab_capture_02.png

プロジェクトID

プロジェクトの詳細表示でプロジェクトIDが確認できる。

gitlab_capture_04.png

パイプラインIDを確認方法

プロジェクト詳細表示のパイプライのアイクをクリックするもしくは左パネルのCI/CD → Pipelines から確認できる

gitlab_capture_05.png

パイプライン削除する

gitlabに対してREST APIを実施する。curl もしくは api tool (postman) 等からできる。この例では、postman の例を示す。

  1. HeaderPrivate-Tokenのキーを作成し、準備したtokenの値を設定する
  2. メソッドはDELETEを選択する
  3. URLは <gitlabのベースurl>/api/v4/projects/<取得したプロジェクトID>/pipelines/<取得したパイプラインID>を設定する
gitlab_capture_031.png

この状態でSendボタンを押すと、該当パイプラインを削除することができる。

パイプラインIDを変更しながら、で全てのパイプライを削除し、パイプライの状態を消すことができる。

gitlab_capture_032.png

まとめ

postmanの例でgitlabプロジェクトに必要ないパイプライン削除することについて説明した。postmanではなく、curlなどでも同じことが実施できる。例えば、上の例のcurlは以下です。

curl
curl -X DELETE \
  http://10.128.3.50/gitlab/api/v4/projects/85/pipelines/270 \
  -H 'Private-Token: <取得したtoken>'
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2