たくあんポリポリ

勉強したことを載せていきます。最近、技術系の記事はZennに書いています。(https://zenn.dev/chittai)

【Jenkins】JenkinsJobでssh接続先でコマンドを実行する方法

JenkinsでJobを作成し、その中でsshコマンドでリモートにアクセスしてコマンド実行するときの注意点です。

今回やりたいこと

JenkinsでJobを作成して、sshでリモートサーバにアクセスしてコマンドを実行することです。Jobの作成方法については書きません。

間違った書き方

処理をシリアルに書いてはいけません。
f:id:c_taquna:20190501152217p:plain:w400

sshでのアクセスには成功しますが、それ以降の処理に進めません。下記キャプチャはJenkinsのコンソール画面です。
f:id:c_taquna:20190501152512p:plain:w400

正しい書き方

このように書くことで、正常に実行されます。
f:id:c_taquna:20190501152416p:plain:w400

f:id:c_taquna:20190501152706p:plain

-t -t オプションについて

下記エラーが出た時につけて実行してみてください。

Pseudo-terminal will not be allocated because stdin is not a terminal.

感想

シェルスクリプトの文法を考えれば普通だったのですが、少しハマってしまったのでメモとして残しておきます。