본문 바로가기
ops/jenkins

[jenkins] 리눅스에 publish over ssh로 파일 전송하기

by seohan1010 2024. 7. 8.

 

 

 

 

 

 

 

publish over ssh로 다른 호스트에 파일을

전송하려고 한다.

 

->remote host에는 파일이 전송될 디렉터리를

명시해 놓지 않았다.

 

 

 

 

 

 

 

빌드 버튼을 클릭

 

 

빌드가 진행이 되고

 

 

 

빌드 완료후

 

 

 

Console output에서 build가 완료된것을 확인

 

 

remote host에 다른 경로를 지정해 주지 않았을때는

호스트의 전송받는 유저의 홈디렉터리로 파일이 전송이 된다.

 

 

이번에는 /opt라는

디렉터리로 명시해 주었다.

 

 

 

빌드 완료 후 전송받는 호스트의 /opt

디렉터리를 확인해보면은

파일이 보이지 않는다.

 

 

홈 디렉터리를 확인해보니

이전에 전송된 파일이 있고

아래에 /opt라는 디렉터리를

생성해 놓은것을 확인할수 있다.

 

 

정확한 테스트를 위해

홈 디렉터리의 파일들을 모두 삭제

 

 

 

디렉터리를 명시해 줄때는

"/"를 하나더 붙여 주어야 한다고 한다.

 

 

 

 

빌드 성공

 

 

 

이번에도 /opt에는 파일이 없다.

 

 

이번에도 유저의 홈 디렉터리에 파일이

전송 되었다.

 

 

홈 디렉터리의 파일들을 다시 삭제 해준다.

 

 

이번에는 //opt/ 이렇게

작성해 주었다.

 

 

실패

 

 

console output에서 로그를 확인해보니

Permission denied라는 오류가 발생했다.

 

 

/opt/디렉터리의 소유자가 root이어서 오류가 발생했다.

 

 

 

이번에는 /opt/docker 라는 dockeruser 소유의 디렉터리에

파일을 전송해 보겠다.

 

 

publish over ssh에 전송받을 디렉터리를 입력해주고 save

 

빌드에 성공했다.

 

 

성공적으로 /opt/docker/ 디렉터리에 전송이 되었다.

 

 

결론

젠킨서에서 파일을 전송받을 호스트의

경로를 명시해 줄때는

"/"를 앞에 하나 더 붙여주어야 한다.

 

 

후기

jenkins에서 리눅스 디렉터리를 명시하는

방식에 대해서 알 수 있었다.