반응형

Jenkins를 Linux환경에 설치를 하고, 보통 scm에서 땡겨서 여러대의 Linux 머신에 배포를 할 때는

sshpass와 rsync만으로 충분히 가능하다.


하지만, Target서버가 Linux환경이 아닌 Windows환경의 경우, 일반적인 방법으로는 불가능하다.


그러던 중, SSAG에 글을 남겨서 Jenkins Slave라는 것이 있다는 것을 알게되고,

세팅을 시작하게 되었다.


Jenkins Master (Linux), Jenkins Slave (Windows) * n과 같이 구성을 하여,

1대의 Slave에서 돌아갈 Batch Script만 짜두면, 어디서 돌릴지 Slave를 선택하여 돌아갈 수 있게끔 해주는 유용한 기능이다.


이러한 환경 구성을 위해, 각 Slave에 Agent세팅을 필요로 한다.


Slave에는 사전에 Java가 설치되어 있어야 하며, Jenkins Master에서 Slave를 연결을 시킬 수가 있다.

[Jenkins 관리 - 노드관리] 메뉴로 진입하여 신규 노드버튼을 누르면 아래와 같은 화면이다.


중요한 부분 몇가지만 보고 넘어가면, 

Remote root directory는 Jenkins Slave의 Workspace와 Log 정보등이 저장되게 되는 디렉토리이며,

Launch method는 Launch slave agents via Java Web Start로 Java Web방식으로 슬레이브 에이전트를 띄우는 옵션이므로,

이 옵션으로 바꾸어 주고, 저장을 하고나면, 아래와 같은 화면이 나온다.

(어차피 가상환경 IP라서 그냥 공개했음)


 


순서대로 따라하면 된다.

Launch버튼을 눌러서 slave-agent.jnlp 파일을 받고,

파일을 받은 경로에 가서, Run from slave command line에 있는것을 cmd창을 열어서 그대로 실행하면,

Master에 연결이 되어, Master에서 컨트롤 가능한 상태가 된다.


Item생성 시에는 Multi-configuration project 타입으로 생성을 하면,

아래와 같이 Configuration Matrix옵션이 있는데, 여기서 어떤 Slave에서 돌아갈지에 대해서 설정이 가능하다.

 

이걸 몰랐을 때는, Windows에다가 openSSH도 깔아보고 freeSshd도 깔고, 별짓을 다했는데..

가장 간편하고, 깔끔하게 해결이 되었다.

반응형
,