1. はじめに
CircleCIを利用していると、手元のローカルPCでは動作するのに、CircleCIで待たした途端に停止するなど、デバッグに困る場面に遭遇する事があります。そんな時用にCircleCIにはSSHでdockerへログインする機能があります。
2.利用方法
2-1. SSH public keyをGitアカウントに追加する
Linux/WSLの場合は、利用しているshellでkeyペアを確認する。もし作成していない場合は作成する
// キーペアが存在するか確認 $ ls ~/.ssh/id_rsa.pub; // キーペアを作成 $ ssh-keygen -t rsa -b 4096 -C "[email protected]" Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): (Enter) Enter passphrase (empty for no passphrase): (Enter) Enter same passphrase again: (Enter) Your identification has been saved in ~ // public keyの内容を確認 $ cat ~/.ssh/id_rsa.pub;
githubアカウントにpublic keyを追加する。(Github -> Settings -> SSH and GPG keys -> )にSSH keyとして、先ほど確認したpublic keyの内容を追加する。
https://github.com/settings/keys
2-2. SSH 接続
アクセスしたいjobをCircleCIで選択し、[Rerun]のボタンから、[Rerun Job with SSH]を選択して実行する。
“Enable SSH”というstepが走るので、stepを開き、中に記載されている接続情報でSSH接続する
2-3. エラーメッセージ
SSH接続を試行した際に、”Permission denied (publickey).”というメッセージが出力された場合は、SSHクライアントが利用する公開鍵情報がGithubに登録されていない。