Bitrise を使っていくと、時には不可解な失敗を目にすることがあるでしょう。その原因は Step 設定の不備からビルド環境の不備まで多岐に渡り、特にビルド環境周りの問題ですと自分のローカル環境ではなかなか再現できないものが多いので、そういう時は問題解決のために、実際に Bitrise のビルドマシンで直接弄りたい気持ちが湧いてきますよね。
そんなあなたに、そのための機能は Bitrise が用意してくれています。Remote Access です。
まず、デバッグしたいビルドのページを見ると、通常の目立つ「Rebuild」ボタンの隣に、あまり目立たない「Rebuild With Remote Access」というボタンもあります。このボタンを押します。
そうすると、再ビルドのページで、リモートアクセスに必要な情報が表示されます。ここで SSH 接続を使えばターミナルから手軽に色々操作できます。
ターミナルから上記の情報で接続します。
ここで注意しないといけないのは、接続した直後はログインユーザのディレクトリーに入っていますが、Bitrise が CI としてリポジトリーを落としているのはまた別の場所です。なのでデバッグするためにはリポジトリーのディレクトリーを把握する必要があります。git-clone のステップの出力にはそのディレクトリーの場所を表示してくれていますので、そこに cd
すればあとは楽でしょう。
ここまできたら、あとはローカルでのデバッグと同じように色々弄れば OK ですね。
Pro Tips
Remote Access はリモートデバッグに非常に便利ですが、一つ制限があります:Workflow の実行が終わったら接続も強制切断されます。そのため早く手を動かさないとせっかくのビルドが無駄になります。ところが裏技として、Workflow の git-clone の後のどこかで、下記のように無理矢理 sleep
スクリプトとかの待たせる処理を一時的に追加すれば、少なくとも Workflow の実行可能の最大の時間までデバッグできます。