본문 바로가기

개발

[ncp] jenkins - sourcecommit - webserver 배포까지 - ( 2 )

지난 시간에 git 연동까지 진행 하였습니다

 

https://programmerk.tistory.com/53

 

[ncp] jenkins - sourcecommit - webserver 연동 - ( 1 )

저희 회사는 현재 naver cloud platform 을 사용하여 cloud server를 사용하고 만들려고하는 구성은 아래와 같습니다 source commit 이라는건 git이랑 같은 거라고 보시면 됩니다. utility server 는 docker 위에..

programmerk.tistory.com

 

 

 

이번에는 build 와 빌드 후 조치 ( Send build artifacts over ssh ) 를 진행할 예정입니다.

 

이전에 썻던 글들과 내용이 겹치는 부분이 있을 수 있습니다.

 

작업내용은

1. build   :

git에서 가져온 소스중 jenkins.sh 라는 shell script가 있는데 이 것을 실행 시켜 docker build 를 하고 docker repository 에 push 한다

 

2. 빌드 후 조치 : Send build artifacts over ssh  를 사용하여 원격서버 ( webserver ) 로 접속하여 실행되던 docker container를 삭제하고 build 한 버전으로 실행 시킨다

 

 

 1. jenkins build 부분 command에 동작시킬 command를 넣어주세요.

 

제 프로젝트에 구조입니다

 

 

jenkins.sh 안의 내용으로는 아래와 같습니다.

 

 

제가 가린 부분은 docker-private 를 사용해서 회사 아아피 인데 docker-hub를 사용하시는분은 자신의 아이디를 넣어주시면됩니다.

 

내용은

1.배포하려는 docker image 의 최신버전 ( latest ) 를 삭제하고 

2. docker build를 통해 최신버전을 만들고 

3. 최신버전 (latest )를 private docker 에 upload

4. 최신버전을 버전관리를 위해 tag를 사용하여 v11버전으로 저장

5. 최신버전 (v11 )를 private docker 에 upload

 

 

 

 

2. 빌드 후 조치

 

Send build artifacts over ssh 를 선택해주세요

이전에 publish over ssh 에서 만든 name이 표시되는것을 볼 수 있습니다.

 

여기서 고급을 눌러서 Verbose output in console을 꼭 선택해주세요 . 

( 동작중 발생하는 로그를 확인할 수 있어 에러를 발견하기 쉽습니다 )

 

저는 파일을 원격서버로 넘길게 없어서 Exec command만 내용을 넣어줬습니다.

command 내용은 원격서버서 /root/자신이 지정한 폴더/start_operator.sh 와 stop_operator.sh 를 만들어 놓은것을 실행한다는 의미입니다.

 

start_operator.sh 

stop_operator.sh

 

 

 

이상 jenkins - git  - webserver(docker) 자동배포 였습니다