본문 바로가기

jenkins

jenkins - 배포 자동화 하기 - 원격 shell script 'Publish Over SSH'(4)

이번 포스팅에서는 저번글에 이어서 원격 shell script글을 마무리 하도록 하겠습니다. 

 

1. jenkins 플러그인 설치(Publish Over SSH)

2. jenkins 설정에서 remote 서버의 정보를 입력한다. 

3. bitbucket과 연동하여 설정

4. 원격으로 소스 보내기 및 실행할 shell script 설정

 

임의의 이름으로 Publish Over SSH 설정을 하였다면 이제 이 설정을 사용하여 원격으로 서버에

shell script를 보낼 차례입니다. 

새로운 item > Freestyle project

새로운 item을 생성하여 들어옵니다. 

저는 작업하고 싶었던 프로세스가

'bitbucket에서 소스가 push 되었을 때 자동으로 받아온다 -> jenkins 서버에서 원격으로 소스를 보낸다 -> jenkins 서버에서 소스를 받은 곳으로 원격으로 shell script를 보내 build하고 재시작한다'

입니다. 따라서 bitbucket에 연동하여 push가 되었을 때 소스를 자동으로 내려받아야 하는데 

이번 포스팅에서는 다루지 않고 "jenkins로 배포 자동화 하기-bitbucket과 연동(2)" 편을 참고하시기 바랍니다. 

그럼 소스를 내려 받고 나서 build 작업을 할 것입니다. 

 

접근한 화면에서 "Build" 항목으로 갑니다. 

"Build" 항목으로 가서 아래 셀렉트 박스를 클릭하면 'Send files or execute commands over SSH'항목을 클릭하면 

화면이 바뀝니다. (위 사진은 셀렉트박스에서 선택을 한 후에 다시 셀렉트 박스를 누른 것이기 때문이 미리 바뀌어있습니다. )

바뀐 화면에서 "SSH Server"하위 항목을 작성해줄 것입니다. "Name"은 이전 포스팅에서 지정해준 Publish Over SSH 세팅 입니다. 지정해준 이름을 선택하면 지정한 RSA 키와 설정을 사용할 수 있습니다. 

"Source files"에 원격으로 전송할 파일을 지정해줍니다. 위와같이 "**/*"를 작성하면 모든 파일이 이동하게됩니다. 

 

옮겨올 소스파일을 지정한 후에는 원격 디렉토리에서 사용할 shell script를 작성해줍니다. 

여기서 주의할 점은

1. 이전 포스팅에서 "Publish Over SSH" 세팅을 할 때 지정해준 디렉토리에서 shell script를 실행한다

2. 작성해주는 script는 jenkins라는 사용자 이름으로 실행을 하기 때문에 권한문제가 발생할 수 있다. 

입니다.