Node.js

Node.js 및 Jenkins로 지속적 배포 파이프라인 만들기

다음을 쉽게 시작할 수 있는 방법을 알아보겠습니다. Jenkins 와 Node.js가 함께 작동하도록 설정하여 지속적인 배포를 가능하게 할 수 있습니다. GitHub 리포지토리의 변경 사항을 기반으로 합니다.

이제 여기서 계획을 알아봅시다. 이미 존재하는 React JS 리포지토리를 사용하겠습니다. 인기 있는 "처음부터 리액트" 워크숍의. 이 리포지토리가 변경되면 Jenkins는 애플리케이션을 빌드하고 애플리케이션을 배포하거나 실행할 수 있습니다. Node.js의 특성으로 인해 빌드 프로세스는 NPM 모듈이 있는지 확인합니다.

프로젝트 요구 사항

이 가이드를 사용하려면 다음 소프트웨어 요구 사항을 충족해야 합니다:

이것은 Jenkins 파이프라인이 포함된 Node.js이므로 최신 버전의 Node.js가 설치되어 있어야 합니다. Jenkins는 Java 애플리케이션이므로 Java도 설치되어 있어야 합니다. Node.js 애플리케이션용 샘플 Jenkins 파이프라인은 Couchbase를 사용하지 않으므로 누구나 쉽게 이 가이드를 사용할 수 있습니다.

필요한 플러그인으로 Jenkins 구성하기

지금쯤이면 이미 Jenkins를 다운로드하셨을 것입니다. 아직 다운로드하지 않았다면 Jenkins 웹사이트에서 WAR 파일을 다운로드하세요.

Jenkins를 시작하려면 명령 프롬프트 또는 터미널에서 다음 명령을 실행합니다:

이렇게 하면 다음 웹 브라우저에서 Jenkins에 액세스할 수 있습니다. http://localhost:8080. 처음 실행하면 구성 마법사로 이동합니다.

Jenkins Configuration Part 1

이 구성 마법사의 첫 번째 화면에서 Jenkins가 생성하는 비밀번호를 입력하라는 메시지가 표시됩니다. 화면에 표시된 위치에서 비밀번호를 찾습니다.

두 번째 화면에서 어떤 플러그인을 설치할지 묻습니다.

Jenkins Configuration Part 2

지금은 추천 플러그인을 설치해 보겠습니다. 나중에 추가 플러그인을 설치할 예정입니다.

세 번째 화면에서 첫 번째 관리 사용자를 만들라는 메시지가 표시됩니다. 엄밀히 말하면 현재 사용 중인 비밀번호가 관리 사용자이지만 새 비밀번호를 생성하는 것이 좋습니다.

Jenkins Configuration Part 3

사용자를 만들면 Jenkins를 사용할 준비가 된 것입니다. 하지만 다른 플러그인이 필요하며 이는 Node.js 애플리케이션을 빌드하고 배포하는 방식에 따라 달라질 수 있습니다.

기본 Jenkins 화면에서 다음을 선택합니다. 젠킨스 관리 를 클릭하여 관리 옵션 목록을 확인합니다.

Manage Jenkins

저희가 신경 쓰는 것은 사용 가능한 플러그인을 관리하는 것입니다. 선택 후 플러그인 관리 라는 이름으로 플러그인을 검색하여 설치하려고 합니다. 포스트빌드스크립트.

Install Jenkins Post-Build Script Plugin

이 플러그인을 사용하면 빌드 단계가 완료된 후 셸 명령이나 스크립트를 실행할 수 있습니다. 동일한 호스트에 빌드하고 배포하는 이 Node.js 및 Jenkins 파이프라인 예제에서는 셸 명령을 통해 모든 것을 로컬에서 실행할 수 있습니다. 프로덕션 환경에서는 SSH 플러그인을 사용하여 코드를 원격 서버로 마이그레이션하고 그곳에서 실행할 수 있습니다.

플러그인을 사용할 수 있게 되었으니 이제 Jenkins에서 Node.js를 위한 지속적 배포 워크플로우를 만들어 보겠습니다.

Node.js용 Jenkins 지속적 배포 워크플로 만들기

다시 한 번 강조하자면, 여기서 우리의 목표는 GitHub에서 프로젝트를 가져와 모든 종속 요소를 설치하여 빌드한 다음 서버(이 경우 로컬 컴퓨터)에서 실행하여 배포하는 워크플로우를 만드는 것입니다.

새 항목, 즉 새 작업 또는 워크플로를 만드는 것으로 시작하세요.

Jenkins Node.js Freestyle Project

우리는 프리스타일 프로젝트. 다음 화면에서는 세 가지 작업을 수행해야 합니다.

워크스페이스의 소스는 GitHub에서 가져올 것입니다. 다른 프로젝트에서는 다른 곳에서 가져올 수 있지만 이 프로젝트에서는 소스 제어 정보를 정의해야 합니다. 프로젝트에서 마스터 브랜치를 사용하지 않는 경우 브랜치를 선택할 수도 있습니다.

Jenkins Node.js Source Control

앞서 언급한 것처럼 GitHub 프로젝트는 제가 이전에 만들고 글을 썼던 프로젝트입니다. 프로젝트는 다음에서 찾을 수 있습니다:

이제 프로덕션 환경에서는 작업 프로세스를 트리거하기 위해 GitHub 후크를 설정하고 싶겠지만 이 모든 것이 로컬 호스트에 있으므로 GitHub에서는 이를 허용하지 않습니다. 대신 수동으로 작업을 트리거할 것입니다.

Jenkins Node.js Build Step

소스 제어 섹션을 구성한 후에는 빌드 단계를 구성해야 합니다. Node.js의 경우 빌드는 종속성 설치로만 구성되지만 이 단계에서 단위 테스트 또는 기타 테스트를 쉽게 수행할 수 있습니다. 소스 제어 섹션의 젠킨스 자바 프로젝트와 마찬가지로 빌드 단계에는 더 많은 것이 있습니다. 이 Node.js 예시에서는 다음과 같습니다:

마지막으로 프로젝트가 빌드된 후 어떤 일이 일어날지 정의합니다.

Jenkins Node.js Post Build Step

이 예에서는 머신에 로컬로 애플리케이션을 배포합니다. 프로덕션 시나리오에서는 그렇지 않을 수도 있습니다.

따라서 빌드 후 단계에서 다음과 같은 명령이 있음을 알 수 있습니다:

계속해서 작업을 선택해서 실행해 보십시오. 지금 구축 를 선택합니다. 프로젝트를 가져와서 종속 요소를 설치하고 다음 위치에서 프로젝트를 사용할 수 있도록 설정해야 합니다. http://localhost:3000. 이 프로젝트에 대해 Couchbase Server가 실행 중인지 확인하세요. 그렇지 않으면 오류가 발생할 수 있습니다.

React Application

결론

방금 Jenkins를 사용하여 GitHub에서 변경한 내용을 기반으로 Node.js 애플리케이션을 지속적으로 배포하는 방법을 살펴보았습니다. 이 가이드의 유사한 버전이 Java 애플리케이션을 위해 만들어졌습니다, Jenkins 및 Java로 지속적 배포 파이프라인 만들기Java 개발자라면 검토해 볼 가치가 있습니다.

다음에 대한 정보를 원하십니까? Node.js 사용 Couchbase NoSQL을 사용하시나요? 확인해보세요. 카우치베이스 개발자 포털 에서 문서와 예제를 확인하세요.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 에릭 비샤드

국제 연사, 블로그 운영, JavaScript, React, GraphQL 및 NoSQL 커뮤니티를 위한 옹호 활동, Couchbase의 선임 개발자 옹호자로 활동하고 있습니다.

댓글 하나

  1. [...] 5. Node.js 및 Jenkins로 지속적 배포 파이프라인 만들기 [...] 5.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.