Circle CI의 Docker 컨테이너에 ssh로 액세스하고 디버깅

2053 단어 SSHCircleCI도커

소개



로컬에서는 패스하는 테스트가 CircleCi에서는 패스하지 않는다고 하는 것이 있었으므로, CircleCi의 컨테이너에 ssh로 연결해 디버그를 했습니다.
대개, 공식 대로입니다만, 보충도 필요한 곳도 있을까 생각하기 때문에, 그 때의 순서를 남겨 둡니다.
windows 환경이므로 나쁘지 않아.

전제


  • ssh는 사용할 수 없으며 상태에 있다고 가정합니다.
  • 아직의 경우는 여기 등을 참고에 넣어 보세요.

  • github와 CircleCi도 계정이 있다고 가정합니다.

  • 준비



    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에 대해서도 배우고 싶다고 생각합니다.

    좋은 웹페이지 즐겨찾기