JenkinsのPublish Over SSHによるデプロイの仕方。
※事前準備
SSH公開鍵認証を行う。ssh公開鍵認証について - エンジニア男
①Publish Over SSHのプラグインをインストールする。
[ダッシュボード] >> [Jenkinsの設定] >> [プラグインの管理]を開く。
Publish Over SSHで検索してインストール、Jenkins再起動をする。
※画像はインストール済みのもの
②Publish Over SSHの設定をする
[ダッシュボード] >> [Jenkinsの管理] >> [システムの設定] を開く。
※こちらの項目は入力不要。
・Passphrase: Keyにパスワードを設定している場合はここに入力する。
・Path to key: 使用する秘密鍵のパスを入力する。
・Key: 秘密鍵のテキストを入力する。
[add]ボタンを入力して、↓の項目を入力する。
・Name: 任意の名前を入力する。
・HostName: デプロイ先のIPアドレス or ドメイン名を入力する。
・UserName: デプロイ先のログインユーザを入力する。
・Remote Directory: デプロイ先のディレクトリを入力する。未入力だとログインユーザのホームディレクトリになる。
・User password authentication, or use a different key
>> Passphrase/Password: デプロイ先のログインユーザのパスワードを入力する。
③ジョブの設定をする。
[ビルド後の処理の追加] >> [Send build artifacts over SSH]ボタンを押す。
・Name: ②で設定したデプロイ先を選択する。
・Source files: デプロイしたいファイルのパスを入力する。(例) target/class/test.war
・Remove: prefix: Source filesで入力したパスのディレクトリごとデプロイするので、削除したいディレクトリを入力する。(例) target/class
・Remote directory: デプロイ先のディレクトリを②で入力したRemote Directoryからの相対パスで入力する。
・Exec command: デプロイ後に行いたい処理をシェルで入力する。
⑤ジョブを実行して結果を確認する。
※補足
Jenkinsのワークスペースについて
③で設定したSource filesはワークスペースからの相対パスを入力している。そのためgitからfetchしてきたプロジェクトのディレクトリをJenkinsのワークスペースに設定する。
・カスタムワークスペースを使用にチェックを入れる。
>> ディレクトリ: ワークスペースにしたいディレクトリを絶対パスで入力する。