Circle CI의 Docker 컨테이너에 ssh로 액세스하고 디버깅
소개
로컬에서는 패스하는 테스트가 CircleCi에서는 패스하지 않는다고 하는 것이 있었으므로, CircleCi의 컨테이너에 ssh로 연결해 디버그를 했습니다.
대개, 공식 대로입니다만, 보충도 필요한 곳도 있을까 생각하기 때문에, 그 때의 순서를 남겨 둡니다.
windows 환경이므로 나쁘지 않아.
전제
준비
CircleCi에 ssh로 연결하려면 github에 ssh로 연결할 수 있는 상태여야 합니다.
여기 을 참고로 설정을 하면 좋을까 생각합니다.
디버깅 대상 컨테이너에 ssh를 사용하도록 설정하고 다시 시작
CircleCi에 액세스하고 디버깅하려는 Job의 "Rerun Job With SSH"를 선택합니다.
WorkFlow 대신 Job을 선택해야 합니다.
다음과 같이 Enable SSH 단계가 추가되어 워크플로가 시작됩니다.
아래의 흰색 테두리 부분에 포트 번호와 호스트의 ip 주소가 표시되므로 이것을 사용하여 ssh로 컨테이너에 연결합니다.
ssh로 컨테이너에 연결
이전에 표시된 정보를 바탕으로 ssh로 컨테이너에 연결합니다.
도중에 접속할지 묻는다면 yes라고 대답해 두면 됩니다.
ssh -p <port> <ip address>
이것으로 컨테이너에 접속한 상태가 될 것이므로, 여러가지 디버그에 필요한 정보를 취할 수 있다고 생각합니다.
또한 로컬로 돌아온 상태에서 다음과 같은 scp를 사용하여 컨테이너의 파일과 디렉토리를 다운로드할 수도 있습니다.
scp -r -P <port> root@<ip address>:<コピーしたいディレクトリのパス> <ローカルのダウウンロード先のパス>
끝에
Docker를 사용해도 쵸코 쵸코 로컬과 CircleCi의 결과가 다를 수 있으며 그 때 디버깅하기도합니다. 원래 디버그가 필요 없게 되도록 Docker나 OS에 대해서도 배우고 싶다고 생각합니다.
Reference
이 문제에 관하여(Circle CI의 Docker 컨테이너에 ssh로 액세스하고 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/AtsushiEsashika/items/4f3be6556dc9aa750f2d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)