본문으로 바로가기

jenkins와 aws code commit 연동

category 개발/AWS 2018.08.17 17:08

jenkins와 aws code commit 연동


jenkins로 aws eb에 배포하게끔 구성을 하려고 한다.


code commit 연동하는 포스트를 못찾아서 직접 해본다.


https://d1.awsstatic.com/Projects/P5505030/aws-project_Jenkins-build-server.pdf 이거 참고함



I 가장 먼저 해야 할 것은 jenkins와 code commit연동이다.


이게 무슨뜻이냐면

1. code commit에 push하고

2. jenkins에서 '빌드'를 누르면 

3. jenkins에서 code commit에 pull해서 받아지게 하는 것이 되어야 그 다음을 할 수 있다.




Manage Jenkins -> Manage Plugins



Available탭 클릭 -> 우측상단 ec2검색 -> Amazon EC2 선택 -> Install without restart선택




다 Success뜨면 Go back to the top page누른다.


Manage Jenkins -> Configure System으로 간다.




아래 명령어를 이용해 aws configure를 젠킨스에 넣어준다.


cd ~jenkins

sudo -u jenkins aws configure



다음 명령어로 크리덴셜 핼퍼 설정 해준다.

sudo -u jenkins git config --global credential.helper '!aws codecommit credential-helper $@'

sudo -u jenkins git config --global credential.useHttpPath true

sudo -u jenkins git config --global user.email "me@mycompany.com"

sudo -u jenkins git config --global user.name "MyJenkinsServer"


젠킨스 스타트 또는 리스타트 한다.

sudo service jenkins start

sudo chkconfig jenkins on



Maven Plugin설치

 Jenkins 관리로 간다.


Maven 섹션으로 가서 'Add Maven'을 누른다.




III 그다음 할 것은

git pull한 다음에 build를 실행 하는 것이다.

build는 배포를 할 수 있는 상태로 만드는 것을 말한다. java라면 maven, gradle build 를 실행해서 .jar또는 .war를 만드는 것이다.


만든 프로젝트의 Configuration(구성)으로 간다.

build로 가서 'Invoke top-level Maven targets'를 선택한다.



위에서 지정한 maven 버젼을 선택 해준다.


goals에 'clean install'을 넣어준다.


test를 skip하고 싶다면 '고급'을 눌러서 JVM Options에 -Dmaven.test.skip=true를 해준다.

test code가 db 종속성(dependency)이 있는 경우 jenkins가 설치 되어있는 서버에 db와 통신하는 ip, port등이 막혀있으면 test가 fail이 날 수 밖에 없다.

그래서 초기에 세팅 할 때는 테스트는 빼고 일단 빌드가 되는지부터 알아보고 계속 진행할 수 밖에 없다.




그담에 프로젝트로 가서 'Build Now'를 누른다.




빌드가 시작되면 메뉴에 'Console Output'이 생긴다.

이걸 누르면 콘솔을 볼 수 있다.


maven이 dependency를 다운 받고 설치를 하는 과정이 콘솔에 주루룩 올라오면 감동의 눈물이 주루룩 나면서 설레지 않는가? ㅋㅋ


드디어 SUCCESS를 보았다. !!


end.






댓글을 달아 주세요