JenkinsのSSH plugin
デプロイ用サーバ(A)からテスト用サーバ(A,B,C,D)にモジュールを配布するのを1サーバずつ繋いで地道に手でコマンドを打っていたので、
この辺りをまるっと1ぽちっとくらいでJenkinsさんにお願いしたかった。
で、シェルスクリプトでSVNからチェックアウトしてSCPしてssh接続して実行して・・・的なことを書いて、Jenkinsさんからシェルを叩いてもらってたのだけど、
Jenkinsのプラグインでできそうだったので試してみた。
入れたのは
SSH plugin
というプラグイン。
1.インストール
いつものように「Jenkinsの管理」→「プラグインの管理」→「利用可能」で「SSH plugin」を検索してインストールの後再起動
2.設定
「Jenkinsの管理」→「システムの管理」で
「SSHリモートホスト」が出現しているので、「追加」押下
ホスト名、ポート、ユーザ名、パスワード/パスフレーズを設定する
3.ジョブ作る
普通にジョブを作る
「新規ジョブ作成」→「フリースタイル・プロジェクトのビルド」→「設定」
で
「ビルド」→「ビルド手順」押下すると
「リモートホストでシェルを実行」という項目が増えている。
これを追加して以下のように設定。
SSHサイト・・・手順2で設定したSSHの接続情報を選択
シェルスクリプト・・・SSH接続後実行して欲しいシェルを記述
これでSSHで接続した後コマンドを実行してくれるようなジョブができます。
SVNとかからチェックアウトしてきたシェルをSCPで各環境に配布して、
それから各環境にSSHで接続してシェルを実行、的な使い方をしました。
シェルスクリプトで既に作ったんだからわざわざジョブでやる必要もないけど、
やれるってわかったので試してみたかっただけですw
参考にさせていただきました、ありがとうございます。
http://orca8.blogspot.jp/2014/09/jenkins-ssh-plugin.html