반응형
오늘은 젠킨스와 깃랩을 연동하는 방법에 대해 설명하고자 합니다.
사전 작업 및 NAS 모델
DS 720+ (RAM 10GB)
젠킨스 및 깃랩 기본적인 설치 완료
깃랩에 들어가서 Access Token 발급
https://jsieun73.tistory.com/173
젠킨스에 들어가셔서 (컨테이너 네트워크를 'host' 방식으로 했다면 포트번호는 8080 입니다.)
Gitlab 플러그인을 설치합니다....
설치후 대시보드로 와서 '새로운 Item' 클릭해서 적절한 이름 입력 후 아래 화면과 같이 'Frestyle project' 형태의 프로젝트를 생성합니다.
프로젝트 생성을 했다면 깃랩 계정과 Gitlab AccessToken 젠킨스에 저장해야 합니다.
> 대쉬보드
> LeftMenu ( Jenkins 관리 )
> Manage Credentials
> "Stores scoped to Jenkins"
> Add credentials 클릭
Gitlab 계정 저장
Gitlab Access Token 등록
이제 다시 프로젝트 설정으로 들어갑니다
대시보드 > 프로젝트 (example-project-name) > LeftMenu 구성
프로젝트 구성에서 필요한 부분만 캡처했습니다. 참고하시면 되겠습니다.
Gitlab WebHook 설정하는 방법
https://jsieun73.tistory.com/174
여기까지가 기본적인 설정입니다.
이후 설명 드릴 내용은 빌드 환경 구성입니다.
빌드 환경
Plugin: NodeJs 16.5
Node.js
Execute shell 서버 실행
# 빌드가 끝나더라도 이 터미널은 죽이지 말아주세요.
BUILD_ID=dontKillMe
# Process 중 node 이고, ${server.js} 서버가 구동중인 Process Job ID 찾기
PROCESS=`ps aux | grep server.js | grep node | awk '{print $2}'`
# Null Check
if [ -z "$PROCESS" ]; then
echo "server.js Process is not running."
else
echo "server.js Process is running."
# -15 -> 안전하게 종료 (기존에 실행중인 서버 안전하게 종료)
kill -15 `ps -ef | grep server.js | grep -v grep | awk '{print $2}'`
fi
# Delay 3초
sleep 3
npm install
# pacakage.json 에 있는 scripts 실행
npm run start
# Delay 5초후 종료
sleep 5
exit 0
위 스크립트는 제 환경에 맞게 작성했습니다. 이점 참고 바랍니다.
저와 같은 환경이라면 위 스크립트 참고하셔서 젠킨스에 저장하면 되겠습니다.
이상 긴글 읽어주셔서 감사합니다.
반응형
'NAS' 카테고리의 다른 글
[Synology NAS] Jenkins & Gitlab webhooks 설정하는 방법 (0) | 2021.08.05 |
---|---|
[Synology NAS] Gitlab API Token 생성 하는 방법 (짧은 글 주의) (0) | 2021.08.05 |
[Synology NAS] Jenkins 설치 (7) | 2021.08.04 |
[Synology NAS] Gitlab 설치 및 사용법 (25) | 2021.07.29 |
[Synology NAS] Docker 설치 및 간단 사용설명 (5) | 2021.07.28 |