다음을 쉽게 시작할 수 있는 방법을 알아보겠습니다. 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를 시작하려면 명령 프롬프트 또는 터미널에서 다음 명령을 실행합니다:
1 |
java -jar jenkins.war -httpPort=8080 |
이렇게 하면 다음 웹 브라우저에서 Jenkins에 액세스할 수 있습니다. http://localhost:8080. 처음 실행하면 구성 마법사로 이동합니다.
이 구성 마법사의 첫 번째 화면에서 Jenkins가 생성하는 비밀번호를 입력하라는 메시지가 표시됩니다. 화면에 표시된 위치에서 비밀번호를 찾습니다.
두 번째 화면에서 어떤 플러그인을 설치할지 묻습니다.
지금은 추천 플러그인을 설치해 보겠습니다. 나중에 추가 플러그인을 설치할 예정입니다.
세 번째 화면에서 첫 번째 관리 사용자를 만들라는 메시지가 표시됩니다. 엄밀히 말하면 현재 사용 중인 비밀번호가 관리 사용자이지만 새 비밀번호를 생성하는 것이 좋습니다.
사용자를 만들면 Jenkins를 사용할 준비가 된 것입니다. 하지만 다른 플러그인이 필요하며 이는 Node.js 애플리케이션을 빌드하고 배포하는 방식에 따라 달라질 수 있습니다.
기본 Jenkins 화면에서 다음을 선택합니다. 젠킨스 관리 를 클릭하여 관리 옵션 목록을 확인합니다.
저희가 신경 쓰는 것은 사용 가능한 플러그인을 관리하는 것입니다. 선택 후 플러그인 관리 라는 이름으로 플러그인을 검색하여 설치하려고 합니다. 포스트빌드스크립트.
이 플러그인을 사용하면 빌드 단계가 완료된 후 셸 명령이나 스크립트를 실행할 수 있습니다. 동일한 호스트에 빌드하고 배포하는 이 Node.js 및 Jenkins 파이프라인 예제에서는 셸 명령을 통해 모든 것을 로컬에서 실행할 수 있습니다. 프로덕션 환경에서는 SSH 플러그인을 사용하여 코드를 원격 서버로 마이그레이션하고 그곳에서 실행할 수 있습니다.
플러그인을 사용할 수 있게 되었으니 이제 Jenkins에서 Node.js를 위한 지속적 배포 워크플로우를 만들어 보겠습니다.
Node.js용 Jenkins 지속적 배포 워크플로 만들기
다시 한 번 강조하자면, 여기서 우리의 목표는 GitHub에서 프로젝트를 가져와 모든 종속 요소를 설치하여 빌드한 다음 서버(이 경우 로컬 컴퓨터)에서 실행하여 배포하는 워크플로우를 만드는 것입니다.
새 항목, 즉 새 작업 또는 워크플로를 만드는 것으로 시작하세요.
우리는 프리스타일 프로젝트. 다음 화면에서는 세 가지 작업을 수행해야 합니다.
워크스페이스의 소스는 GitHub에서 가져올 것입니다. 다른 프로젝트에서는 다른 곳에서 가져올 수 있지만 이 프로젝트에서는 소스 제어 정보를 정의해야 합니다. 프로젝트에서 마스터 브랜치를 사용하지 않는 경우 브랜치를 선택할 수도 있습니다.
앞서 언급한 것처럼 GitHub 프로젝트는 제가 이전에 만들고 글을 썼던 프로젝트입니다. 프로젝트는 다음에서 찾을 수 있습니다:
1 |
https://github.com/couchbaselabs/space-x-app |
이제 프로덕션 환경에서는 작업 프로세스를 트리거하기 위해 GitHub 후크를 설정하고 싶겠지만 이 모든 것이 로컬 호스트에 있으므로 GitHub에서는 이를 허용하지 않습니다. 대신 수동으로 작업을 트리거할 것입니다.
소스 제어 섹션을 구성한 후에는 빌드 단계를 구성해야 합니다. Node.js의 경우 빌드는 종속성 설치로만 구성되지만 이 단계에서 단위 테스트 또는 기타 테스트를 쉽게 수행할 수 있습니다. 소스 제어 섹션의 젠킨스 자바 프로젝트와 마찬가지로 빌드 단계에는 더 많은 것이 있습니다. 이 Node.js 예시에서는 다음과 같습니다:
1 |
npm 설치 |
마지막으로 프로젝트가 빌드된 후 어떤 일이 일어날지 정의합니다.
이 예에서는 머신에 로컬로 애플리케이션을 배포합니다. 프로덕션 시나리오에서는 그렇지 않을 수도 있습니다.
따라서 빌드 후 단계에서 다음과 같은 명령이 있음을 알 수 있습니다:
1 |
npm 시작 |
계속해서 작업을 선택해서 실행해 보십시오. 지금 구축 를 선택합니다. 프로젝트를 가져와서 종속 요소를 설치하고 다음 위치에서 프로젝트를 사용할 수 있도록 설정해야 합니다. http://localhost:3000. 이 프로젝트에 대해 Couchbase Server가 실행 중인지 확인하세요. 그렇지 않으면 오류가 발생할 수 있습니다.
결론
방금 Jenkins를 사용하여 GitHub에서 변경한 내용을 기반으로 Node.js 애플리케이션을 지속적으로 배포하는 방법을 살펴보았습니다. 이 가이드의 유사한 버전이 Java 애플리케이션을 위해 만들어졌습니다, Jenkins 및 Java로 지속적 배포 파이프라인 만들기Java 개발자라면 검토해 볼 가치가 있습니다.
다음에 대한 정보를 원하십니까? Node.js 사용 Couchbase NoSQL을 사용하시나요? 확인해보세요. 카우치베이스 개발자 포털 에서 문서와 예제를 확인하세요.
[...] 5. Node.js 및 Jenkins로 지속적 배포 파이프라인 만들기 [...] 5.