jenkins

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

nerd mix 2019. 11. 21. 09:30

이번 포스팅에서는 저번글에 이어서 원격 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라는 사용자 이름으로 실행을 하기 때문에 권한문제가 발생할 수 있다. 

입니다.