젠키스(Jenkins)에 노드(node) 추가하기
젠키스(Jenkins)에 노드(node) 추가하기
CI 서버(Jenkins)는 EC2 등의 퍼블릭 IP로 접근 가능한 외부에 있고 특정 작업(job)을 사내에서 수행하는 경우 보안 문제 때문에 사내망을 CI에서 접근하도록 허용하는 건 어렵습니다. 이런 경우에 대한 해결책으로 자바 웹스타트를 통해 사내에 젠킨스 노드를 추가 할 수 있습니다. 제 경우는 사내의 Windows 랩탑에서 GUITAR 테스트를 수행하기 위해서 이 방법을 택했습니다.
Jenkins 관리 → 노드 관리 → 신규 노드 메뉴를 이용해서 노드를 추가합니다.
노드명을 입력하고 Permanent Agent
를 선택한 후 OK
버튼을 클릭합니다.
이어지는 화면에서 Remote root directory
에는 c:\jenkins를 입력하고 Launch method
는 Launch agent via Java Web Start
를 선택합니다. 나머지 설정은 기본 값을 유지하고 저장합니다.
아직 새 노드와 연결이 안됐기 때문에 노드 목록에는 오프라인으로 나옵니다. 이제 연결을 해야 합니다.
사내망 안의 Windows 랩탑에서 위에서 생성한 노드 화면에 접속합니다. Launch
버튼을 클릭하면 jnlp 파일(slave-agent.jnlp
)을 다운로드 혹은 바로 실행할 수 있습니다. 혹 보안 경고가 뜨더라도 무시하고 jnlp 파일을 실행하세요. Jenkins slave agent
가 실행되고 젠킨스 서버에 접속 중이라는 내용이 나오다가 곧 Connected로 내용이 변경됩니다. 만약 접속이 안되면 접속 중인 젠킨스 서버의 포트를 확인하세요. 접속 중 화면에 나온 포트(42031)가 접속 가능한지 확인하면 됩니다.
JNLP 에이전트의 포트는 무작위로 할당됩니다. 포트 고정이 필요하면 Jenkins 관리 → Configure Global Security 메뉴에서 TCP port for JNLP agents
를 Fixed
로 변경하고 원하는 포트 번호를 넣으면 됩니다.
이제 노드 화면을 새로고침하면 JNLP로 연결된 것으로 내용이 변경된 것을 확인할 수 있습니다.
노드 관리 화면의 목록에도 새 노드의 정보가 나옵니다.
랩탑을 재부팅 했을 때에도 연결을 유지하려면 Jenkins slave agent
의 File → Install as a service
메뉴를 이용해서 윈도 서비스로 등록하면 됩니다.
EOF
'DevOps' 카테고리의 다른 글
외부 Jenkins와 내부 네트워크 상의 GUITAR 테스트 환경 연동 1 (0) | 2017.05.25 |
---|---|
젠킨스(Jenkins)의 상세 내용 입력 방식을 HTML로 변경 (0) | 2017.05.18 |
Trello - 리스트 최상단에 카드 추가하기 (0) | 2015.03.16 |
Trello 일정을 구글 캘린더와 연동하기 (0) | 2015.02.26 |
AWS에 설치된 MySQL DB를 외부 접속이 가능 하도록 설정 (1) | 2015.02.22 |