jenkins 7

Jenkins Master-Slave 노드 설정

팀에서 하나의 서버에서 젠킨스를 운용했었는데, 점차 Job들이 많이 생기고 사용자가 늘어나면서 많은 부하가 걸리게 되었다. 가령 누군가 빌드를 돌리고 있으면 다른 자동화 작업이 빌드 Job이 끝날때까지 pending 되었다. 이를 해결하기 위해 젠킨스에서 마스터와 슬레이브 정책을 사용할 수 있다는것을 알게 되었고, 이에 대해 정리하고자 한다. 마스터와 슬레이브 노드를 분류하여, 마스터 노드에서는 SCM 툴(gerrit, bitbucket 등)에서 폴링(트리거) 또는 결과를 report하는 용도로 사용하고 실제 부하가 걸리는 작업들은 모두 슬레이브 노드에서 실행하게 한다. 따라서 마스터 노드는 단순히 스케쥴링하고 로드 밸런싱하는 역할을 하고 실제 부하가 걸리는 작업들은 슬레이브 노드로 적절히 분산할 수 있..

DevOps/Jenkins 2018.07.27

Jenkins - Gerrit 연동

Jenkins - Gerrit 연동 Gerrit에 Commit이 올라오거나 이벤트가 발생할 때, Jenkins에서 이를 Trigger하여 특정 액션을 취할 수 있다. Gerrit에서 Stream Event로 받을 수 있는 Event 종류 Patchset added Change merged Change abandoned Comment added Gerrit 설정 - Gerrit Stream Events 설정 필요, Projects => Access에서 확인가능 - Global Capabilities에서 Stream Events 권한을 허용하자. * Jenkins가 아니라 Local pc에서 Stream event를 수신하고자 한다면, 아래 명령으로 확인가능하다. 특정 이벤트가 발생하면 커맨트에 로그 확인가..

DevOps/Jenkins 2018.07.18