基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 前言
  2. 2. 目标
  3. 3. 开始前的准备
  4. 4. 安装Node-RED
  5. 5. 创建Token
  6. 6. 要使用的API
  7. 7. 实践
  8. 8. 总结

前言

最近在使用GitLab CI/CD时发现一个使用“不太顺畅”Benutzungsszenarien。具体是这样的:
作为一名Entwickler,有时需要同时负责几个前端项目的部署
修复a项目的bug后需要部署zu测试环境,
修复b项目的bug后需要部署zu测试环境。
。。。。

由于各种原因,这种Szene的部署并非是自动部署的,需要负责人去手动创建部署流水线。比如为了给测试人员提供一个可靠,稳定的的测试环境,会采用手动部署环境。

这就导致一个问题,我需要先进入A项目,Klick auf流水线,Auswahl对应Unterteilung支,创建一个流水线。
然后再进入B项目,重复以上Operationen。
过程是比较繁琐的,之所以会这样,是因为GitLab没有提供一种个人Ower项目的流水线管理。
类似下图 国产devopsWerkzeuge 建木的这种:
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图

由于没有个人视角下的流水线管理,这就需要我们创建某个项目的流水线就必须进入项目内部。(或许在不久的将来,会有这样一个Funktion)。

这个问题的解决方案很简单,使用GitLab OpenAPI来实现流水线的管理,包括根据项目查询流水线,新建或重新Betrieb流水线。但不管要写一些页面,还需要做一下后端Anfrage senden查询GitLabDaten的代码。

具体思路是很简单的,无奈本人业余Zeit实在不多,于是搁置了,直zu有一天我突发奇想,能否用Node-RED这一低代码Werkzeuge来实现这一全局流水的管理Funktion。

Node-RED是一个IBM开源的物联网项目。它是一个基于流的构建在Nodejs上的低代码Ereignisse驱动应用。
利用它丰富的节点我们可以做很多很多事情。
可以使用它的HTTP节点来Senden SieHTTPBitte,查询项目信息,流水线列表,或触发一条项目的流水线。
可以使用它的dashboard节点来提供页面面板Funktion。
在整个开发过程中你只需要配置一些必要Parameter即可,编写极少部Unterteilung的JS代码,其他的Daten流水流转,逻辑处理都交给Node-RED。

说干就干,下面就开始使用Node-RED与GitLab OpenAPI来实现DevOps 流水线管理

目标

初步Unterteilung析,该Funktion主要包括以下四个核心Funktion:

  • 查询个人Owner项目列表
  • 根据项目查询项目下的Unterteilung支列表
  • 查询项目流水线并展示
  • 新建流水线
  • 重新触发流水线

开始前的准备

安装Node-RED

这里推荐Docker安装Node-RED,比较简单

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

浏览器访问 http://127.0.0.1:1880/ 即可体验。这里不过多介绍,感兴趣的可以移步我的Node-RED专栏
Node-RED Herausgeber器Operationen页面
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图1

其他Installationsmethode可以Überprüfen该Adresse https://nodered.org/docs/getting-started/

创建Token

由于我们要查询个人视角下的资源,所以创建一个Personal Access Tokens
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图2

如下图
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图3
创建后,记得保存起来,以为你和他只有一面之缘。

要使用的API

查询个人项目的API,需要携带?owned=true。表明只查询gegenwärtig用户Owner的项目。

GET /projects

查询项目流水线的API

GET /projects/:id/pipelines

新建流水线(除了项目id,还需要必传Parameterref Unterteilung支或tag)

POST /projects/:id/pipeline

重新触发流水线

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

实践

我们将Schnittstelle的基本Adresse与token保存为流变Quantität,在整个流中都可以访问zu。
然后在流Betrieb后,先Bitte项目列表,传递给 dropdown节点,在新的页面上显示。
当用户选中项目后,Bitte项目Unterteilung支列表,传递给另一个 dropdown节点,并显示在页面上。
当用户选中Unterteilung支后,Bitte该Unterteilung支下的流水线,并使用table节点显示zu页面上。
当用户单击流水线表格中的某一行时,会重新Betrieb该流水线。成功后会有通知
最后Klick aufcreate pipeline Knopf后,会使用gegenwärtig选中的项目与Unterteilung支来创建一条新的流水线,成功后会有通知。

最终vollständig的流逻辑图是这样的
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图4

流程Operationenvollständig动态图
基于极狐GitLab OpenAPI与低代码Node-RED开发一个人项目Pipeline管理(查询流水线,创建流水线,重新触发流水线)插图5

Node-RED支持将流DatenExportieren,保存为JSONDaten,该流程创建后,想要Teilen,Unterteilung发,会变得非常容易,Export von JSONDaten,配置域名和token即可。有需要流文件的同学请在Artikel下留言。

总结

创造让工作更简单。希望对你有用。

来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Modbus Programmierung 字数 1786 字 · 阅读约 5 Unterteilung钟 更新 2023-02-09 永久链接 https://www.modbus.cn/11647.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Relevante Etiketten
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.