서 문 .
최근에 Git Lab CI / CD 를 사용할 때 " 불 완 전 한 " 사용 시 나 리오 를 발견했습니다 .구체 적으로는 다음과 같다 .
개발 자로서 여러 프 런 트 엔 드 프로젝트 의 배 포 를 동시에 수행 해야 할 때가 있습니다 .
a 프로젝트 의 버 그 를 수정 한 후 테스트 환경에 배 포 해야 합니다 .
b 프로젝트 의 버 그 를 수정 한 후 테스트 환경에 배 포 해야 합니다 .
。。。。
이러한 시 나 리오 의 배 포 는 여러 가지 이유로 자동 으로 배 포 되지 않으며 배 포 파이 프 라 인을 수 동 으로 작성 해야 합니다 .예를 들어 , 테 스터 에게 신뢰할 수 있고 안정 적인 테스트 환경을 제공하기 위해 수 동 배 포 환경을 사용합니다 .
이것은 먼저 프로젝트 A 로 이동 하고 파이 프 라 인을 클릭 하고 해당 분 기를 선택 하여 파이 프 라 인을 만들 필요가 있는 문제를 초래 합니다 .
그런 다음 프로젝트 B 로 다시 이동 하여 위의 작업을 반복 합니다 .
Git Lab 은 개별 O wer 프로젝트를 위한 파이 프 라 인 관 리를 제공 하지 않기 때문에 프로세 스가 다소 번 거 롭 습니다 .
아래 의 국내 dev ops 도구 와 비슷한 나무 건물 의 종류 :
개인적인 관점에서 파이 프 라 인 관 리가 없기 때문에 , 이것은 우리가 프로젝트를 만드는 파이 프 라 인이 프로젝트 내부 에 들어가 야 한다는 것을 의미합니다 . (아 마 가까운 장 래 에 이런 기능 이 있을 것이다 .)
이 문제에 대한 해결책 은 Git Lab Open API 를 사용하여 파이 프 라 인을 쿼 리 하고 프로젝트를 기반으로 새 파이 프 라 인을 생성 하거나 다시 실행 하는 것을 포함하여 파이 프 라 인을 관리 하는 것이 간단 합니다 .그러나 몇 개의 페이 지를 작성 하 더라도 Git Lab 데이터 에 대한 요청을 보내는 백 엔 드 코드를 작성 해야합니다 .
구체적인 아이디어 는 매우 간단 했고 , 어 쩔 수 없이 여 가 시간이 많지 않았 기 때문에 , 어느 날 나는 노 드 - 레 드 (N ode - R ED) 라는 저 코 드 도구를 사용하여 이 글로벌 유 수의 관리 기능을 구현 할 수 있는지 궁금해 할 때까지 보 류 했습니다 .
Node - R ED 는 IBM 의 오픈 소 스 IoT 프로젝트 입니다 . Node J S 에서 구축 된 스트 림 기반 의 로 우 코드 이벤트 구 동 응용 프로그램 입니다 .
그것의 풍부한 노 드를 사용하여 우리는 많은 것을 할 수 있습니다 .
HTTP 노 드를 사용하여 HTTP 요청을 보내 거나 , 프로젝트 정보 , 파이 프 라인 목록을 쿼 리 하거나 , 프로젝트 의 파이 프 라 인을 트 리 거 할 수 있습니다 .
대 시 보 드 노 드를 사용하여 페이지 패 널 기능을 제공합니다 .
전체 개발 과정에서 필요한 매 개 변 수를 구성 하고 J S 코 드의 작은 부분을 작성 하고 다른 데이터 스트 림 과 논 리 처 리를 Node - R ED 에 넘겨 주 면 됩니다 .
Node - R ED 와 Git Lab Open API 를 사용하여 Dev O ps 파이 프 라인 관 리를 시작 하십시오 .
目标
예비 분석 에 따르면 , 이 기능은 주로 다음과 같은 네 가지 핵심 기능을 포함 합니다 .
- 개인 소유 자 항목 목록 조 회
- 항목 에 따라 항목 아래 의 분 기 목록 조 회
- 프로젝트 파이 프 라인 조 회 및 표시
- 새 조 립 라 인
- 파이 프 라인 다시 트 리 거
시작 하기 전 의 준비
Node - R ED 설치
Node - R ED 를 설치 하는 Do cker 를 추천 합니다 .
do cker run - it - p 1880 : 18 80 -- name 내 노 더 nod ered / node - red
浏览器アクセス여기에 너무 많이 소개 하지 않고 , 관심 있는 사람들은 내 노 드 - 레 드 칼 럼 으로 이동 할 수 있습니다 .
Node - R ED 편집 기 작업 페이지
토 큰 만들기
개인 관점에서 자 원을 쿼 리 하기 때문에 개인 액세스 토 큰 을 만듭니다 .
아래 그림 과 같이
作成后,记得保存起来,以为你和他只有一面之缘。
사용할 API
개인 프로젝트 의 API 를 쿼 리 하고 , 휴대 해야 합니까 ?own ed = true현재 사용자 Own er 의 항목 만 질 의 할 수 있음을 나타 냅니다 .
G ET / Proje cts
프로젝트 파이 프 라인 에 대한 API 조 회
G ET / projects /: id / pip el ines
새 파이 프 라인 만들기 (프 로 젝트 id 외에도 필수 인 수 ref 분 기 또는 tag 가 필요합니다)
P OST / projects /: id / pip el ine
파이 프 라인 다시 트 리 거
연습 하다
우리는 인터페 이스 의 기본 주 소를 토 큰 과 함께 스트 림 변 수로 저장 하여 전체 스트 림 에서 액세스 할 수 있습니다 .
그런 다음 스트 림 이 실행 된 후 먼저 항목 목록을 요청 하여 드 롭 다운 노 드에 전달 하여 새 페이지 에 표시 합니다 .
사용자가 항목 을 선택 하면 항목 분 기 목록을 요청 하여 다른 드 롭 다운 노 드로 전달 하여 페이지 에 표시 됩니다 .
사용자가 분 기를 선택 하면 해당 분 기 아래 의 파이 프 라 인을 요청 하고 table 노 드를 사용하여 페이지 에 표시 합니다 .
사용자가 파이 프 라인 테이블 의 행 을 클릭 하면 파이 프 라인 이 다시 실행 됩니다 .성공 하면 알 림 이 있습니다 .
마지막으로 파이 프 라인 생성 버튼 을 클릭 하면 현재 선택한 프로젝트 와 분 기를 사용하여 새 파이 프 라 인을 생성 하고 성공 하면 알 림 이 표시 됩니다 .
최종 적으로 완전한 스트 림 논 리 다이 어 그 램 은 다음과 같습니다 .
프로세 스 작업 전체 동 적 도 표
Node - R ED 는 스트 림 데이터를 내 보 내고 J SON 데이터 로 저장 하는 것을 지원 하며 , 프로세 스가 생성 되면 공유 하고 배 포 하고 싶 으면 J SON 데이터를 내 보 내고 도 메 인 이름 과 토 큰 을 구성 하는 것이 매우 쉬 워 집니다 .스트 리 밍 파 일이 필요한 학 우 가 있다면 글 아래에 댓글 을 남겨 주세요 .
요 약
창조 는 일을 더 쉽게 만듭니다 .당신에게 유용 하기를 바랍니다 .
Leave a Reply