Contents
환경
- Red Hat Enterprise Linux version 8
- JDK 1.8
- Jenkins 2
- Node 10
- Nginx
- Git
- GitHub
목적
- Vue 소스를 빌드하여 GitHub에 푸쉬 하는 이벤트로 서버에 자동으로 배포
저번 게시물에서 젠킨스 설치까지 완료하였으며,
이번 게시물에서는 GitHub와 연동 및 Vue소스를 빌드하여 자동으로 서버에 배포되는 과정을 진행해 보도록 하겠습니다.
1. 계정 설정
Jenkins 관리 > Manage Credentials
> (global)
> Add Credentials
Kind : Username with password
Scope : Global (Jenkins, nodes, items, all child items, etc)
Username : 깃허브 아이디
Password: 깃허브 패스워드
ID : 젠킨스 안에서 사용될 아이디
Description : 설명
3. 프로젝트 생성
> 새로운 Item
> 프로젝트 이름 입력, FreeStyle Project 선택 후 OK
소스 코드 관리 > Git >
Repository URL : 배포하려는 대상 프로젝트의 git URL을 입력해줍니다.
Credentials : 1. 에서 생성한 계정 선택
Build Now 를 입력하고
#1 내용을 클릭합니다.
Console Oupput 메뉴를 누르면 빌드 성공/실패 여부를 확인 할 수 있습니다.
빌드를 성공하게 되면
/var/lib/jenkins/workspace 안에
jenkins_test 와 jenkins_test@tmp 폴더가 생기는데
jenkins_test 안에 나의 프로젝트 내용이 생성된것을 확인 할 수 있습니다.
빌드 유발
다시 프로젝트로 돌아가서 빌드 후 처리를 설정해 보겠습니다.
> 구성
빌드 유발 > GitHub hook trigger for GITScm polling
Build > Add Build step > Execute shell
Command 내용을 아래와 같이 입력해줍니다.
sudo rm -rf /usr/share/nginx/dist/
cd /var/lib/jenkins/workspace/jenkins_test
sudo npm install
sudo npm run build
sudo mv dist /usr/share/nginx/
sudo rm -rf /usr/share/nginx/dist/ <-- 1. 프론트 소스가 배포되어있는곳의 dist 파일을 제거한다.
cd /var/lib/jenkins/workspace/jenkins_test <-- 2. 젠킨스 프로젝트 위치로 이동
sudo npm install <-- 3. npm install
sudo npm run build <-- 4. 빌드
sudo mv dist /usr/share/nginx/ <-- 5. 프론트 소스가 배포되어있는 곳으로 dist 파일을 옮겨줍니다.
이제 나의 프로젝트에서 Git Push 동작을 하게되면 소스가 배포되도록 설정 하였습니다.
푸쉬 후에 해당 명령어가 잘 실행되는것을 볼 수 있습니다.
모든 프로세스가 끝나면 최종적으로 프론트엔드 소스가 배포된것을 확인 할 수 있습니다.
'개발이야기 > 개발환경설정' 카테고리의 다른 글
젠킨스 간단 사용기 #2. GitHub 연동 (0) | 2020.10.25 |
---|---|
젠킨스 간단 사용기 #1. 설치 (0) | 2020.09.14 |
#5. SSL 인증서 설정 (0) | 2020.03.19 |
도메인 신청하기 (With가비아) (0) | 2020.02.26 |
#4. Nginx 설치 및 설정 (0) | 2020.02.25 |