nodejs에서 작성한 express 애플리케이션을 git에 올리면 트리거를 이용해 jenkins에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다.
빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd 를 구축해봅니다.
Jenkins 설치
(1) on MacOS
brew install jenkins-lts
(2) on Linux
sudo wget -O /etc/yum.repos.d/jenkins.repo <https://pkg.jenkins.io/redhat-stable/jenkins.repo>
sudo rpm --import <https://pkg.jenkins.io/redhat-stable/jenkins.io.key>
sudo yum install jenkins
(3) 그 외 다른 OS는 사이트 참고
Jenkins download and deployment
Jenkins 시작
(1) on MacOS
brew services start jenkins-lts
(2) on Linux
sudo service jenkins start
- 재시작
sudo service jenkins restart
- 중지
sudo service jenkins stop
‼️오류 해결 > 실행 시 java 어쩌고 저쩌고 에러날때 해결 법 ‼️
오류코드
SEVERE: Running with Java class version 51, which is older than the Minimum required version 52. See <https://jenkins.io/redirect/java-support/>
java.lang.UnsupportedClassVersionError: 51.0
at Main.verifyJavaVersion(Main.java:182)
at Main.main(Main.java:142)
해결코드
rpm -aq | grep -i jdk
sudo yum remove (현재 자바 버전)
sudo yum install java-1.8.0-openjdk-devel
브라우저에 localhost:8080 입력 후 접속!
터미널에서 Administrator password 확인하기
(localhost:8080에서 빨간글씨 복붙)
cat /Users/daeun/.jenkins/secrets/initialAdminPassword
접속 후 install suggested plugins 클릭
계정 생성 or skip 해도 됨!
추가로 다운받을 플러그인
- NodeJS Plugin
- Test Results Analyzer Plugin (테스트 코드 리포트가 필요한 경우)
- xUnit plugin (테스트 코드 리포트가 필요한 경우)
- Amazon S3 Bucket Credentials Plugin (EB 연결을 위함)
- AWS Elastic Beanstalk Publisher Plugin (EB 연결을 위함)
- AWSEB Deployment Plugin (EB 연결을 위함)
기본 설정 Global Tool Configuration - git, node 설정
(1) git 설정
(2) node 설정
프로젝트 생성 방법
(1) 왼쪽 상단의 새로운 item 클릭
(2) item name 입력 후 freestyle project 클릭 후 ok
(3) 프로젝트 구성에서
(3)-1. gitHub project 체크 후 url 입력
(3)-2. 소스코드 관리 -git 클릭 후 연결하려는 git 레포지토리 연결 후 credentials add
- Username - git 닉네임
- Password - git 비밀번호
- ID - credentials 식별 id, 아무거나 쳐도 됨
- Description - 생략가능
(3)-3. 빌드 환경 - Provide Node & npm bin/ folder to PATH
(3)-4. 빌드 - execute shell
npm install
npm test
여기까지가 jenkins설치와 프로젝트 기본세팅입니다!
세팅 후 build를 눌러 실행이 잘 되는지 테스트해 봅니다.
다음 편에서는 git에서 push를 했을 때 자동으로 빌드를 실행시키는 작업을 해줄 겁니다.
728x90