Jenkins, Github, Vue 설정

Github의 master 브랜치에 Vue 프로젝트를 push하면 Jenkins에서 npm build하여 운영(prod) 서버에 자동 배포.

기본적인 Jenkins 설치는 Spring 프로젝트 Jenkins와 Github로 자동 배포를 참고해주세요.

Jenkins 서버에 Node.js 설치

NodeJS 공식 홈페이지:{target=”blank”}를 보면 현재 최신 버전이 18.1.0버전이고 NVM 패키지를 이용하여 사용 버전을 설치 하도록 하겠습니다.

# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# source ~/.bashrc
# nvm --version
0.39.1
# nvm list-remote
...
 v17.9.0
 v18.0.0
 v18.1.0
 
# nvm install v17.8.0
# nvm use v17.8.0
# node --version
v17.8.0
# npm --version
8.5.5

centos 7버전에서 v18 이상 install 한 경우 node –version 명령시 아래와 같은 오류 발생하는데 glibc 업그레이드가 필요합니다. 그래서 우선 17.8.0으로 진행합니다.

# npm --version
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

Jenkins 플러그인 관리 Nodejs 설치

image-20220516182711861

Jenkins Global Tool Configuration

image-20220516182835390

Github Webhook 설정

image-20220516204457212

Jenkins Item 생성 및 설정

image-20220516182946577

image-20220516183030833

image-20220516183054742

배포할 web server에 jenkins가 ssh로 접근할 수 있도록 rsa pub값 추가

jenkins 서버 공개 키 값 복사

# cat /root/.ssh/id_rsa.pub

web server

# ssh-keygen -t rsa
# vim /root/.ssh/authorized_keys
jenkins 공개키 값 붙여 넣고 저장

jenkins 관리 > 시스템 설정 하단에서 Publish over SSH 추가

image-20220516185919614

다시 Jekins 구성으로 와서 빌드 후 조치에서 Send build artifacts over SSH를 선택합니다.

image-20220516195645670

저장 후 Jenkins 빌드를 하면 성공적으로 web server에 배포되는 것을 확인할 수 있습니다.

댓글남기기