LoginSignup
1
0

More than 3 years have passed since last update.

Circle CIのDockerコンテナにsshでアクセスしてデバッグする

Posted at

はじめに

ローカルではパスするテストがCircleCiではパスしない、ということがあったので、CircleCiのコンテナにsshでつないでデバッグをしました。
おおむね、公式通りなのですが、補足も必要なところもあるかと思うので、その時の手順を残しておきます。
windows環境ですので悪しからず。

前提

  • sshは使用できず状態になっている前提です。
    • まだの場合はこちらなどを参考に入れてみてください。
  • githubとCircleCiもアカウントは持っている前提です。

準備

CircleCiにsshで接続するには、githubにsshで接続できる状態になっている必要があります。
こちらを参考に設定をすると良いかと思います。

デバッグ対象のコンテナをsshを有効にして再起動

CircleCiにアクセスし、デバッグしたいJobの"Rerun Job With SSH"を選択する。
WorkFlowではなくJobを選択する必要があります。

image.png

以下のようにEnable SSHのステップが追加されてワークフローが開始されます。
以下の白枠の箇所にポート番号とホストのipアドレスが表示されますのでこれを使ってsshでコンテナに接続していきます。

無題.png

sshでコンテナに接続

先ほど表示された情報をもとにsshでコンテナに接続します。
途中で接続するか聞かれたらyesと答えておけば良いです。

ssh -p <port> <ip address>

これでコンテナに接続した状態になるはずなので、いろいろデバッグに必要な情報が取れると思います。
また、ローカルに戻った状態で以下のようなscpを使ったりしてコンテナのファイルやディレクトリをダウンロードしたりもできます。

scp -r -P <port> root@<ip address>:<コピーしたいディレクトリのパス> <ローカルのダウウンロード先のパス>

終わりに

Dockerを使ってても、ちょこちょこローカルとCircleCiでの結果が異なることがあり、その際にデバッグしたりしています。そもそもデバッグがいらなくなるようDockerやOSについても学んでいきたいなーと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0