Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)

前の記事

最近、GitLab CI/CDを使用する際に“スムーズではない”使用シナリオが見つかりました。具体的には:
開発者として、複数のフロントエンドプロジェクトを同時にデプロイする必要がある場合があります。
バグ修正後、テスト環境にデプロイする必要があります。
プロジェクトbのバグ修正後、テスト環境にデプロイする必要があります。
。。。。

さまざまな理由により、このシナリオのデプロイは自動的ではなく、担当者が手動でデプロイメントパイプラインを作成する必要があります。たとえば、テスターに信頼性の高い安定したテスト環境を提供するために、手動デプロイメント環境が使用されます。

これは、まずプロジェクトAに入り、パイプラインをクリックしてブランチを選択し、パイプラインを作成する必要がある問題につながります。
次にBに進み、これを繰り返します。
GitLabは個々のOwerプロジェクトのパイプライン管理を提供していないため、プロセスは面倒です。
これは、国内のDevOpsツールと同様です。
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure

個人的な観点からのパイプライン管理がないため、プロジェクトのパイプラインを作成する必要があります。(近い将来、このような機能があるかもしれません。

この問題の解決策は、GitLab Open APIを使用してパイプラインを管理し、プロジェクトごとにパイプラインをクエリしたり、パイプラインを新規作成したり、再実行したりするという簡単な方法です。しかし、いくつかのページを書くには、バックエンドがGitLabのデータをクエリするコードを送信する必要があります。

具体的なアイデアは非常に簡単ですが、残念ながら私の空き時間はあまりないので、ある日私は気まぐれに、Node-REDこの低コードツールを使用して、このグローバルパイプライン管理機能を実現できるかどうかを考えました。

Node-REDは、IBMのオープンソースIoTプロジェクトです。これは、Nodejs上に構築された低コードのイベント駆動型アプリケーションです。
豊富なノードでできることはたくさんあります。
HTTPノードを使用して、HTTPリクエストの送信、プロジェクト情報の照会、パイプラインのリスト、またはプロジェクトのパイプラインのトリガーを行うことができます。
ダッシュボードノードを使用して、ページパネル機能を提供できます。
開発プロセス全体を通じて、必要なパラメータを設定し、JSコードのごく一部を記述するだけで済み、その他のデータパイプラインはNode-REDに処理されます。

Node-REDとGitLab Open APIを使用してDevOpsパイプライン管理を実現しましょう。

ターゲットは

予備分析によると、この機能は主に以下の4つのコア機能を含む。

  • 個人所有者アイテムリストの照会
  • プロジェクトからプロジェクト下の分岐リストを照会する
  • プロジェクトパイプラインの検索と表示
  • 新しいパイプラインの建設
  • パイプラインの再起動

開始前の準備

Node-REDのインストール

Node-REDのインストールは簡単です。

docker run -it -p 1880:1880 --name mynodered nodered/node-red

ブラウザのアクセス http://127.0.0.1:1880/ 体験できます。ここではあまり紹介しませんが、興味のある方はNode-REDコラムに移動してください。
Node-REDエディタのアクションページ
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure1

他のインストール方法でアドレスを確認できます。 https://nodered.org/docs/getting-started/

トークンの作成

個人的な視点でリソースをクエリしたいので、Personal Access Tokenを作成します。
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure2

下の写真は
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure3
あなたと彼が一緒にいることを忘れないでください。

使用するAPI。

個人プロジェクトを照会するAPI(携帯が必要)?owned=true。現在のユーザー所有者のアイテムのみをクエリすることを示します。

GET /projects

プロジェクトパイプラインのクエリAPI

GET /projects/:id/pipelines

新規パイプライン(プロジェクトIDに加えて、パラメータrefブランチまたはtagを渡す必要があります)

POST /projects/:id/pipeline

パイプラインの再起動

POST /projects/:id/pipelines/:pipeline_id/retry

実践の実践

インターフェイスのベースアドレスとトークンをストリーム変数として保存し、ストリーム全体からアクセスできます。
ストリームが実行された後、最初にアイテムのリストを要求します。 dropdown新しいページに表示されます。
ユーザーがプロジェクトを選択すると、プロジェクト分岐リストを要求し、別のプロジェクトに渡す dropdownページに表示されます。
ユーザーがブランチを選択したら、そのブランチの下のパイプラインをリクエストして使用します。tableノードがページに表示されます。
ユーザーがパイプラインテーブルの行をクリックすると、そのパイプラインが再実行されます。成功後に通知されます。
最後のクリック。create pipeline ボタンを押すと、現在選択されているプロジェクトとブランチを使用して新しいパイプラインが作成され、成功すると通知されます。

最終的なフローロジック図はこんな感じです
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure4

プロセスOperationの完全な動的図
Polar Fox GitLab Open APIとローコードNode-REDをベースにした個人プロジェクトの開発パイプライン管理(パイプラインのクエリ、パイプラインの作成、パイプラインの再トリガー)Figure5

Node-REDは、ストリームデータをJSONデータとしてエクスポートして保存することをサポートしており、プロセスが作成されたら、共有、配布、JSONデータのエクスポート、ドメイン名、トークンの設定が非常に簡単になります。ストリームファイルが必要なChapter 3は、記事にメッセージを残してください。

概要まとめ

創造は仕事を容易にする。役に立つことを願う。

Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.