지난 시간에 git 연동까지 진행 하였습니다
https://programmerk.tistory.com/53
이번에는 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) 자동배포 였습니다